[
  [
    {
      "type": "comment.line.double-slash",
      "value": "// https://solidity.readthedocs.io/en/develop/layout-of-source-files.html#comments"
    }
  ],
  [],
  [
    {
      "type": "comment.line.double-slash",
      "value": "// Double-Asterisk doc comments"
    }
  ],
  [],
  [
    {
      "type": "comment.block.doc.documentation",
      "value": "/** "
    },
    {
      "type": "comment.block.doc.documentation.tag",
      "value": "@title"
    },
    {
      "type": "comment.block.doc.documentation",
      "value": " Shape calculator. */"
    }
  ],
  [
    {
      "type": "storage.type",
      "value": "contract"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "identifier",
      "value": "ShapeCalculator"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "paren.lparen",
      "value": "{"
    }
  ],
  [
    {
      "type": "text",
      "value": "    "
    },
    {
      "type": "comment.block.doc.documentation",
      "value": "/** "
    },
    {
      "type": "comment.block.doc.documentation.tag",
      "value": "@dev"
    },
    {
      "type": "comment.block.doc.documentation",
      "value": " Calculates a rectangle's surface and perimeter."
    }
  ],
  [
    {
      "type": "comment.block.doc.documentation",
      "value": "      * "
    },
    {
      "type": "comment.block.doc.documentation.tag",
      "value": "@param"
    },
    {
      "type": "comment.block.doc.documentation",
      "value": " w Width of the rectangle."
    }
  ],
  [
    {
      "type": "comment.block.doc.documentation",
      "value": "      * "
    },
    {
      "type": "comment.block.doc.documentation.tag",
      "value": "@param"
    },
    {
      "type": "comment.block.doc.documentation",
      "value": " h Height of the rectangle."
    }
  ],
  [
    {
      "type": "comment.block.doc.documentation",
      "value": "      * "
    },
    {
      "type": "comment.block.doc.documentation.tag",
      "value": "@return"
    },
    {
      "type": "comment.block.doc.documentation",
      "value": " s The calculated surface."
    }
  ],
  [
    {
      "type": "comment.block.doc.documentation",
      "value": "      * "
    },
    {
      "type": "comment.block.doc.documentation.tag",
      "value": "@return"
    },
    {
      "type": "comment.block.doc.documentation",
      "value": " p The calculated perimeter."
    }
  ],
  [
    {
      "type": "comment.block.doc.documentation",
      "value": "      */"
    }
  ],
  [
    {
      "type": "text",
      "value": "    "
    },
    {
      "type": "storage.type",
      "value": "function"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "entity.name.function",
      "value": "rectangle"
    },
    {
      "type": "paren.lparen",
      "value": "("
    },
    {
      "type": "storage.type",
      "value": "uint"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "variable.parameter",
      "value": "w"
    },
    {
      "type": "punctuation.operator",
      "value": ","
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "storage.type",
      "value": "uint"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "variable.parameter",
      "value": "h"
    },
    {
      "type": "paren.rparen",
      "value": ")"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "keyword",
      "value": "returns"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "paren.lparen",
      "value": "("
    },
    {
      "type": "storage.type",
      "value": "uint"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "variable.parameter",
      "value": "s"
    },
    {
      "type": "punctuation.operator",
      "value": ","
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "storage.type",
      "value": "uint"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "variable.parameter",
      "value": "p"
    },
    {
      "type": "paren.rparen",
      "value": ")"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "paren.lparen",
      "value": "{"
    }
  ],
  [
    {
      "type": "text",
      "value": "        "
    },
    {
      "type": "identifier",
      "value": "s"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "keyword.operator",
      "value": "="
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "identifier",
      "value": "w"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "keyword.operator",
      "value": "*"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "identifier",
      "value": "h"
    },
    {
      "type": "punctuation.operator",
      "value": ";"
    }
  ],
  [
    {
      "type": "text",
      "value": "        "
    },
    {
      "type": "identifier",
      "value": "p"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "keyword.operator",
      "value": "="
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "constant.numeric",
      "value": "2"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "keyword.operator",
      "value": "*"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "paren.lparen",
      "value": "("
    },
    {
      "type": "identifier",
      "value": "w"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "keyword.operator",
      "value": "+"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "identifier",
      "value": "h"
    },
    {
      "type": "paren.rparen",
      "value": ")"
    },
    {
      "type": "punctuation.operator",
      "value": ";"
    }
  ],
  [
    {
      "type": "text",
      "value": "    "
    },
    {
      "type": "paren.rparen",
      "value": "}"
    }
  ],
  [
    {
      "type": "paren.rparen",
      "value": "}"
    }
  ],
  [],
  [
    {
      "type": "comment.line.double-slash",
      "value": "// Triple-Slash doc comments"
    }
  ],
  [],
  [
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": "/// "
    },
    {
      "type": "comment.line.doc.documentation.tag",
      "value": "@title"
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": " Shape calculator."
    }
  ],
  [
    {
      "type": "storage.type",
      "value": "contract"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "identifier",
      "value": "ShapeCalculator2"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "paren.lparen",
      "value": "{"
    }
  ],
  [
    {
      "type": "text",
      "value": "    "
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": "/// "
    },
    {
      "type": "comment.line.doc.documentation.tag",
      "value": "@dev"
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": " Calculates a rectangle's surface and perimeter."
    }
  ],
  [
    {
      "type": "text",
      "value": "    "
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": "/// "
    },
    {
      "type": "comment.line.doc.documentation.tag",
      "value": "@param"
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": " w Width of the rectangle."
    }
  ],
  [
    {
      "type": "text",
      "value": "    "
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": "/// "
    },
    {
      "type": "comment.line.doc.documentation.tag",
      "value": "@param"
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": " h Height of the rectangle."
    }
  ],
  [
    {
      "type": "text",
      "value": "    "
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": "/// "
    },
    {
      "type": "comment.line.doc.documentation.tag",
      "value": "@return"
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": " s The calculated surface."
    }
  ],
  [
    {
      "type": "text",
      "value": "    "
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": "/// "
    },
    {
      "type": "comment.line.doc.documentation.tag",
      "value": "@return"
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": " p The calculated perimeter."
    }
  ],
  [
    {
      "type": "text",
      "value": "    "
    },
    {
      "type": "storage.type",
      "value": "function"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "entity.name.function",
      "value": "rectangle"
    },
    {
      "type": "paren.lparen",
      "value": "("
    },
    {
      "type": "storage.type",
      "value": "uint"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "variable.parameter",
      "value": "w"
    },
    {
      "type": "punctuation.operator",
      "value": ","
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "storage.type",
      "value": "uint"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "variable.parameter",
      "value": "h"
    },
    {
      "type": "paren.rparen",
      "value": ")"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "keyword",
      "value": "returns"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "paren.lparen",
      "value": "("
    },
    {
      "type": "storage.type",
      "value": "uint"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "variable.parameter",
      "value": "s"
    },
    {
      "type": "punctuation.operator",
      "value": ","
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "storage.type",
      "value": "uint"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "variable.parameter",
      "value": "p"
    },
    {
      "type": "paren.rparen",
      "value": ")"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "paren.lparen",
      "value": "{"
    }
  ],
  [
    {
      "type": "text",
      "value": "        "
    },
    {
      "type": "identifier",
      "value": "s"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "keyword.operator",
      "value": "="
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "identifier",
      "value": "w"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "keyword.operator",
      "value": "*"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "identifier",
      "value": "h"
    },
    {
      "type": "punctuation.operator",
      "value": ";"
    }
  ],
  [
    {
      "type": "text",
      "value": "        "
    },
    {
      "type": "identifier",
      "value": "p"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "keyword.operator",
      "value": "="
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "constant.numeric",
      "value": "2"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "keyword.operator",
      "value": "*"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "paren.lparen",
      "value": "("
    },
    {
      "type": "identifier",
      "value": "w"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "keyword.operator",
      "value": "+"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "identifier",
      "value": "h"
    },
    {
      "type": "paren.rparen",
      "value": ")"
    },
    {
      "type": "punctuation.operator",
      "value": ";"
    }
  ],
  [
    {
      "type": "text",
      "value": "    "
    },
    {
      "type": "paren.rparen",
      "value": "}"
    }
  ],
  [
    {
      "type": "paren.rparen",
      "value": "}"
    }
  ],
  [],
  [
    {
      "type": "comment.line.double-slash",
      "value": "// https://github.com/ethereum/wiki/wiki/Ethereum-Natural-Specification-Format"
    }
  ],
  [],
  [
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": "/// "
    },
    {
      "type": "comment.line.doc.documentation.tag",
      "value": "@title"
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": " A simulator for Bugs Bunny, the most famous Rabbit"
    }
  ],
  [
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": "/// "
    },
    {
      "type": "comment.line.doc.documentation.tag",
      "value": "@author"
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": " Warned Bros"
    }
  ],
  [
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": "/// "
    },
    {
      "type": "comment.line.doc.documentation.tag",
      "value": "@notice"
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": " You can use this contract for only the most basic simulation"
    }
  ],
  [
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": "/// "
    },
    {
      "type": "comment.line.doc.documentation.tag",
      "value": "@dev"
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": " All function calls are currently implement without side effects"
    }
  ],
  [
    {
      "type": "storage.type",
      "value": "contract"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "identifier",
      "value": "BugsBunny"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "paren.lparen",
      "value": "{"
    }
  ],
  [
    {
      "type": "text",
      "value": "    "
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": "/// "
    },
    {
      "type": "comment.line.doc.documentation.tag",
      "value": "@author"
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": " Bob Clampett"
    }
  ],
  [
    {
      "type": "text",
      "value": "    "
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": "/// "
    },
    {
      "type": "comment.line.doc.documentation.tag",
      "value": "@notice"
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": " Determine if Bugs will accept `(_food)` to eat"
    }
  ],
  [
    {
      "type": "text",
      "value": "    "
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": "/// "
    },
    {
      "type": "comment.line.doc.documentation.tag",
      "value": "@dev"
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": " String comparison may be inefficient"
    }
  ],
  [
    {
      "type": "text",
      "value": "    "
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": "/// "
    },
    {
      "type": "comment.line.doc.documentation.tag",
      "value": "@param"
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": " _food The name of a food to evaluate (English)"
    }
  ],
  [
    {
      "type": "text",
      "value": "    "
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": "/// "
    },
    {
      "type": "comment.line.doc.documentation.tag",
      "value": "@return"
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": " true if Bugs will eat it, false otherwise"
    }
  ],
  [
    {
      "type": "text",
      "value": "    "
    },
    {
      "type": "storage.type",
      "value": "function"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "entity.name.function",
      "value": "doesEat"
    },
    {
      "type": "paren.lparen",
      "value": "("
    },
    {
      "type": "storage.type.array.dynamic",
      "value": "string"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "variable.parameter",
      "value": "_food"
    },
    {
      "type": "paren.rparen",
      "value": ")"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "storage.modifier.visibility",
      "value": "external"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "storage.modifier.statemutability",
      "value": "pure"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "keyword",
      "value": "returns"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "paren.lparen",
      "value": "("
    },
    {
      "type": "storage.type",
      "value": "bool"
    },
    {
      "type": "paren.rparen",
      "value": ")"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "paren.lparen",
      "value": "{"
    }
  ],
  [
    {
      "type": "text",
      "value": "        "
    },
    {
      "type": "keyword.control",
      "value": "return"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "support.function",
      "value": "keccak256"
    },
    {
      "type": "paren.lparen",
      "value": "("
    },
    {
      "type": "identifier",
      "value": "_food"
    },
    {
      "type": "paren.rparen",
      "value": ")"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "keyword.operator",
      "value": "=="
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "support.function",
      "value": "keccak256"
    },
    {
      "type": "paren.lparen",
      "value": "("
    },
    {
      "type": "string.quoted.double",
      "value": "\"carrot\""
    },
    {
      "type": "paren.rparen",
      "value": ")"
    },
    {
      "type": "punctuation.operator",
      "value": ";"
    }
  ],
  [
    {
      "type": "text",
      "value": "    "
    },
    {
      "type": "paren.rparen",
      "value": "}"
    }
  ],
  [
    {
      "type": "paren.rparen",
      "value": "}"
    }
  ],
  [],
  [
    {
      "type": "comment.line.double-slash",
      "value": "// https://github.com/ethereum/wiki/wiki/Ethereum-Natural-Specification-Format#dynamic-expressions"
    }
  ],
  [],
  [
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": "/// "
    },
    {
      "type": "comment.line.doc.documentation.tag",
      "value": "@author"
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": " email.address@not-highlighted.com"
    }
  ],
  [
    {
      "type": "storage.type",
      "value": "contract"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "identifier",
      "value": "ShowcaseDynamicComments"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "paren.lparen",
      "value": "{"
    }
  ],
  [
    {
      "type": "text",
      "value": "  "
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": "/// "
    },
    {
      "type": "comment.line.doc.documentation.tag",
      "value": "@notice"
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": " Send `(valueInmGAV / 1000).fixed(0,3)` GAV from the account of "
    }
  ],
  [
    {
      "type": "text",
      "value": "  "
    },
    {
      "type": "comment.line.triple-slash.double-slash.doc.documentation",
      "value": "/// `message.caller.address()` to an account accessible only by `to.address()`"
    }
  ],
  [
    {
      "type": "text",
      "value": "  "
    },
    {
      "type": "storage.type",
      "value": "function"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "entity.name.function",
      "value": "send"
    },
    {
      "type": "paren.lparen",
      "value": "("
    },
    {
      "type": "storage.type",
      "value": "address"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "variable.parameter",
      "value": "to"
    },
    {
      "type": "punctuation.operator",
      "value": ","
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "storage.type",
      "value": "uint256"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "variable.parameter",
      "value": "valueInmGAV"
    },
    {
      "type": "paren.rparen",
      "value": ")"
    },
    {
      "type": "text",
      "value": " "
    },
    {
      "type": "paren.lparen",
      "value": "{"
    }
  ],
  [
    {
      "type": "text",
      "value": "  "
    },
    {
      "type": "paren.rparen",
      "value": "}"
    }
  ],
  [
    {
      "type": "paren.rparen",
      "value": "}"
    }
  ],
  [],
  [
    {
      "type": "comment.line.double-slash",
      "value": "// The following simple comments should not have NatSpec highlighting:"
    }
  ],
  [],
  [
    {
      "type": "comment.line.double-slash",
      "value": "// @title A simulator for Bugs Bunny, the most famous Rabbit"
    }
  ],
  [
    {
      "type": "comment.line.double-slash",
      "value": "// @author Warned Bros"
    }
  ],
  [
    {
      "type": "comment.line.double-slash",
      "value": "// @notice You can use this contract for only the most basic simulation"
    }
  ],
  [
    {
      "type": "comment.line.double-slash",
      "value": "// @dev All function calls are currently implement without side effects"
    }
  ],
  [
    {
      "type": "comment.line.double-slash",
      "value": "// @param _food The name of a food to evaluate (English)"
    }
  ],
  [
    {
      "type": "comment.line.double-slash",
      "value": "// @return true if Bugs will eat it, false otherwise"
    }
  ],
  [],
  [
    {
      "type": "comment.block",
      "value": "/*"
    }
  ],
  [
    {
      "type": "comment.block",
      "value": " * @title A simulator for Bugs Bunny, the most famous Rabbit"
    }
  ],
  [
    {
      "type": "comment.block",
      "value": " * @author Warned Bros"
    }
  ],
  [
    {
      "type": "comment.block",
      "value": " * @notice You can use this contract for only the most basic simulation"
    }
  ],
  [
    {
      "type": "comment.block",
      "value": " * @dev All function calls are currently implement without side effects"
    }
  ],
  [
    {
      "type": "comment.block",
      "value": " * @param _food The name of a food to evaluate (English)"
    }
  ],
  [
    {
      "type": "comment.block",
      "value": " * @return true if Bugs will eat it, false otherwise"
    }
  ],
  [
    {
      "type": "comment.block",
      "value": " */"
    }
  ],
  []
]
