{"abi":[],"bytecode":{"object":"0x","linkReferences":{}},"deployedBytecode":{"object":"0x","linkReferences":{}},"ast":{"absolutePath":"node_modules/@dk1a/solidity-stringutils/src/utils/memchr.sol","id":5205,"exportedSymbols":{"HI_U256":[5158],"LO_U256":[5154],"memchr":[4815],"memchrWord":[5099],"memrchr":[4938],"memrchrWord":[5150],"nonZeroIfXcontainsZeroByte":[5179],"repeatByte":[5204]},"nodeType":"SourceUnit","src":"33:8728:9","nodes":[{"id":4684,"nodeType":"PragmaDirective","src":"33:24:9","nodes":[],"literals":["solidity","^","0.8",".17"]},{"id":4815,"nodeType":"FunctionDefinition","src":"541:2009:9","nodes":[],"body":{"id":4814,"nodeType":"Block","src":"629:1921:9","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4696,"name":"lenText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4689,"src":"639:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3332","id":4697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"650:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"639:13:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4706,"nodeType":"IfStatement","src":"635:113:9","trueBody":{"id":4705,"nodeType":"Block","src":"654:94:9","statements":[{"expression":{"arguments":[{"id":4700,"name":"ptrText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4687,"src":"721:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4701,"name":"lenText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4689,"src":"730:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4702,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4691,"src":"739:1:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":4699,"name":"memchrWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5099,"src":"710:10:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint8) pure returns (uint256)"}},"id":4703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"710:31:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4695,"id":4704,"nodeType":"Return","src":"703:38:9"}]}},{"assignments":[4708],"declarations":[{"constant":false,"id":4708,"mutability":"mutable","name":"ptrStart","nameLocation":"762:8:9","nodeType":"VariableDeclaration","scope":4814,"src":"754:16:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4707,"name":"uint256","nodeType":"ElementaryTypeName","src":"754:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4710,"initialValue":{"id":4709,"name":"ptrText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4687,"src":"773:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"754:26:9"},{"assignments":[4712],"declarations":[{"constant":false,"id":4712,"mutability":"mutable","name":"lenTail","nameLocation":"794:7:9","nodeType":"VariableDeclaration","scope":4814,"src":"786:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4711,"name":"uint256","nodeType":"ElementaryTypeName","src":"786:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4713,"nodeType":"VariableDeclarationStatement","src":"786:15:9"},{"assignments":[4715],"declarations":[{"constant":false,"id":4715,"mutability":"mutable","name":"ptrEnd","nameLocation":"815:6:9","nodeType":"VariableDeclaration","scope":4814,"src":"807:14:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4714,"name":"uint256","nodeType":"ElementaryTypeName","src":"807:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4716,"nodeType":"VariableDeclarationStatement","src":"807:14:9"},{"id":4732,"nodeType":"UncheckedBlock","src":"895:141:9","statements":[{"expression":{"id":4721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4717,"name":"lenTail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4712,"src":"959:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4718,"name":"lenText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4689,"src":"969:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"3332","id":4719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"979:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"969:12:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"959:22:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4722,"nodeType":"ExpressionStatement","src":"959:22:9"},{"expression":{"id":4730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4723,"name":"ptrEnd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4715,"src":"991:6:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4724,"name":"ptrText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4687,"src":"1000:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4725,"name":"lenText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4689,"src":"1011:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":4726,"name":"lenTail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4712,"src":"1021:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1011:17:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4728,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1010:19:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1000:29:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"991:38:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4731,"nodeType":"ExpressionStatement","src":"991:38:9"}]},{"assignments":[4734],"declarations":[{"constant":false,"id":4734,"mutability":"mutable","name":"repeatedX","nameLocation":"1049:9:9","nodeType":"VariableDeclaration","scope":4814,"src":"1041:17:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4733,"name":"uint256","nodeType":"ElementaryTypeName","src":"1041:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4738,"initialValue":{"arguments":[{"id":4736,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4691,"src":"1072:1:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":4735,"name":"repeatByte","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5204,"src":"1061:10:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint8) pure returns (uint256)"}},"id":4737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1061:13:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1041:33:9"},{"body":{"id":4770,"nodeType":"Block","src":"1105:948:9","statements":[{"assignments":[4743],"declarations":[{"constant":false,"id":4743,"mutability":"mutable","name":"chunkXZero","nameLocation":"1249:10:9","nodeType":"VariableDeclaration","scope":4770,"src":"1241:18:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4742,"name":"uint256","nodeType":"ElementaryTypeName","src":"1241:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4744,"nodeType":"VariableDeclarationStatement","src":"1241:18:9"},{"AST":{"nativeSrc":"1321:68:9","nodeType":"YulBlock","src":"1321:68:9","statements":[{"nativeSrc":"1335:44:9","nodeType":"YulAssignment","src":"1335:44:9","value":{"arguments":[{"arguments":[{"name":"ptrText","nativeSrc":"1359:7:9","nodeType":"YulIdentifier","src":"1359:7:9"}],"functionName":{"name":"mload","nativeSrc":"1353:5:9","nodeType":"YulIdentifier","src":"1353:5:9"},"nativeSrc":"1353:14:9","nodeType":"YulFunctionCall","src":"1353:14:9"},{"name":"repeatedX","nativeSrc":"1369:9:9","nodeType":"YulIdentifier","src":"1369:9:9"}],"functionName":{"name":"xor","nativeSrc":"1349:3:9","nodeType":"YulIdentifier","src":"1349:3:9"},"nativeSrc":"1349:30:9","nodeType":"YulFunctionCall","src":"1349:30:9"},"variableNames":[{"name":"chunkXZero","nativeSrc":"1335:10:9","nodeType":"YulIdentifier","src":"1335:10:9"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":4743,"isOffset":false,"isSlot":false,"src":"1335:10:9","valueSize":1},{"declaration":4687,"isOffset":false,"isSlot":false,"src":"1359:7:9","valueSize":1},{"declaration":4734,"isOffset":false,"isSlot":false,"src":"1369:9:9","valueSize":1}],"id":4745,"nodeType":"InlineAssembly","src":"1312:77:9"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4747,"name":"chunkXZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4743,"src":"1474:10:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4746,"name":"nonZeroIfXcontainsZeroByte","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"1447:26:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":4748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1447:38:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":4749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1489:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1447:43:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4764,"nodeType":"IfStatement","src":"1443:462:9","trueBody":{"id":4763,"nodeType":"Block","src":"1492:413:9","statements":[{"id":4762,"nodeType":"UncheckedBlock","src":"1692:203:9","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4752,"name":"ptrText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4687,"src":"1787:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3332","id":4753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1796:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},{"id":4754,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4691,"src":"1800:1:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":4751,"name":"memchrWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5099,"src":"1776:10:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint8) pure returns (uint256)"}},"id":4755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1776:26:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4756,"name":"ptrText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4687,"src":"1861:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":4757,"name":"ptrStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4708,"src":"1871:8:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1861:18:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4759,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1860:20:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1776:104:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4695,"id":4761,"nodeType":"Return","src":"1720:160:9"}]}]}},{"id":4769,"nodeType":"UncheckedBlock","src":"1999:48:9","statements":[{"expression":{"id":4767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4765,"name":"ptrText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4687,"src":"2023:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":4766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2034:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"2023:13:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4768,"nodeType":"ExpressionStatement","src":"2023:13:9"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4739,"name":"ptrText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4687,"src":"1087:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":4740,"name":"ptrEnd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4715,"src":"1097:6:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1087:16:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4771,"nodeType":"WhileStatement","src":"1080:973:9"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4772,"name":"lenTail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4712,"src":"2063:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2074:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2063:12:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4781,"nodeType":"IfStatement","src":"2059:42:9","trueBody":{"expression":{"expression":{"arguments":[{"id":4777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2089:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4776,"name":"uint256","nodeType":"ElementaryTypeName","src":"2089:7:9","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":4775,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2084:4:9","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":4778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2084:13:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":4779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2098:3:9","memberName":"max","nodeType":"MemberAccess","src":"2084:17:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4695,"id":4780,"nodeType":"Return","src":"2077:24:9"}},{"expression":{"id":4788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4782,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4694,"src":"2108:5:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":4784,"name":"ptrEnd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4715,"src":"2127:6:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4785,"name":"lenTail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4712,"src":"2135:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4786,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4691,"src":"2144:1:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":4783,"name":"memchrWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5099,"src":"2116:10:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint8) pure returns (uint256)"}},"id":4787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2116:30:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2108:38:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4789,"nodeType":"ExpressionStatement","src":"2108:38:9"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4790,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4694,"src":"2156:5:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":4793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2170:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4792,"name":"uint256","nodeType":"ElementaryTypeName","src":"2170:7:9","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":4791,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2165:4:9","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":4794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2165:13:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":4795,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2179:3:9","memberName":"max","nodeType":"MemberAccess","src":"2165:17:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2156:26:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":4812,"nodeType":"Block","src":"2231:317:9","statements":[{"id":4811,"nodeType":"UncheckedBlock","src":"2426:116:9","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4804,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4694,"src":"2457:5:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4805,"name":"ptrEnd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4715,"src":"2513:6:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":4806,"name":"ptrStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4708,"src":"2522:8:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2513:17:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4808,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2512:19:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2457:74:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4695,"id":4810,"nodeType":"Return","src":"2450:81:9"}]}]},"id":4813,"nodeType":"IfStatement","src":"2152:396:9","trueBody":{"id":4803,"nodeType":"Block","src":"2184:41:9","statements":[{"expression":{"expression":{"arguments":[{"id":4799,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2206:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4798,"name":"uint256","nodeType":"ElementaryTypeName","src":"2206:7:9","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":4797,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2201:4:9","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":4800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2201:13:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":4801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2215:3:9","memberName":"max","nodeType":"MemberAccess","src":"2201:17:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4695,"id":4802,"nodeType":"Return","src":"2194:24:9"}]}}]},"documentation":{"id":4685,"nodeType":"StructuredDocumentation","src":"432:108:9","text":" @dev Returns the first index matching the byte `x` in text;\n or type(uint256).max if not found."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"memchr","nameLocation":"550:6:9","parameters":{"id":4692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4687,"mutability":"mutable","name":"ptrText","nameLocation":"565:7:9","nodeType":"VariableDeclaration","scope":4815,"src":"557:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4686,"name":"uint256","nodeType":"ElementaryTypeName","src":"557:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4689,"mutability":"mutable","name":"lenText","nameLocation":"582:7:9","nodeType":"VariableDeclaration","scope":4815,"src":"574:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4688,"name":"uint256","nodeType":"ElementaryTypeName","src":"574:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4691,"mutability":"mutable","name":"x","nameLocation":"597:1:9","nodeType":"VariableDeclaration","scope":4815,"src":"591:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4690,"name":"uint8","nodeType":"ElementaryTypeName","src":"591:5:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"556:43:9"},"returnParameters":{"id":4695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4694,"mutability":"mutable","name":"index","nameLocation":"622:5:9","nodeType":"VariableDeclaration","scope":4815,"src":"614:13:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4693,"name":"uint256","nodeType":"ElementaryTypeName","src":"614:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"613:15:9"},"scope":5205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":4938,"nodeType":"FunctionDefinition","src":"2660:2106:9","nodes":[],"body":{"id":4937,"nodeType":"Block","src":"2743:2023:9","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4827,"name":"lenText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4820,"src":"2753:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3332","id":4828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2764:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"2753:13:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4837,"nodeType":"IfStatement","src":"2749:114:9","trueBody":{"id":4836,"nodeType":"Block","src":"2768:95:9","statements":[{"expression":{"arguments":[{"id":4831,"name":"ptrText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4818,"src":"2836:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4832,"name":"lenText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4820,"src":"2845:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4833,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4822,"src":"2854:1:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":4830,"name":"memrchrWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5150,"src":"2824:11:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint8) pure returns (uint256)"}},"id":4834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2824:32:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4826,"id":4835,"nodeType":"Return","src":"2817:39:9"}]}},{"assignments":[4839],"declarations":[{"constant":false,"id":4839,"mutability":"mutable","name":"lenTail","nameLocation":"2877:7:9","nodeType":"VariableDeclaration","scope":4937,"src":"2869:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4838,"name":"uint256","nodeType":"ElementaryTypeName","src":"2869:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4840,"nodeType":"VariableDeclarationStatement","src":"2869:15:9"},{"assignments":[4842],"declarations":[{"constant":false,"id":4842,"mutability":"mutable","name":"offsetPtr","nameLocation":"2898:9:9","nodeType":"VariableDeclaration","scope":4937,"src":"2890:17:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4841,"name":"uint256","nodeType":"ElementaryTypeName","src":"2890:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4843,"nodeType":"VariableDeclarationStatement","src":"2890:17:9"},{"id":4856,"nodeType":"UncheckedBlock","src":"2983:132:9","statements":[{"expression":{"id":4848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4844,"name":"lenTail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4839,"src":"3047:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4845,"name":"lenText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4820,"src":"3057:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"3332","id":4846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3067:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"3057:12:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3047:22:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4849,"nodeType":"ExpressionStatement","src":"3047:22:9"},{"expression":{"id":4854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4850,"name":"offsetPtr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4842,"src":"3079:9:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4851,"name":"ptrText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4818,"src":"3091:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":4852,"name":"lenText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4820,"src":"3101:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3091:17:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3079:29:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4855,"nodeType":"ExpressionStatement","src":"3079:29:9"}]},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4857,"name":"lenTail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4839,"src":"3125:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":4858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3136:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3125:12:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4891,"nodeType":"IfStatement","src":"3121:641:9","trueBody":{"id":4890,"nodeType":"Block","src":"3139:623:9","statements":[{"id":4864,"nodeType":"UncheckedBlock","src":"3240:55:9","statements":[{"expression":{"id":4862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4860,"name":"offsetPtr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4842,"src":"3264:9:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":4861,"name":"lenTail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4839,"src":"3277:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3264:20:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4863,"nodeType":"ExpressionStatement","src":"3264:20:9"}]},{"assignments":[4866],"declarations":[{"constant":false,"id":4866,"mutability":"mutable","name":"index","nameLocation":"3358:5:9","nodeType":"VariableDeclaration","scope":4890,"src":"3350:13:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4865,"name":"uint256","nodeType":"ElementaryTypeName","src":"3350:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4872,"initialValue":{"arguments":[{"id":4868,"name":"offsetPtr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4842,"src":"3378:9:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4869,"name":"lenTail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4839,"src":"3389:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4870,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4822,"src":"3398:1:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":4867,"name":"memrchrWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5150,"src":"3366:11:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint8) pure returns (uint256)"}},"id":4871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3366:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3350:50:9"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4873,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4866,"src":"3414:5:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":4876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3428:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4875,"name":"uint256","nodeType":"ElementaryTypeName","src":"3428:7:9","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":4874,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3423:4:9","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":4877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3423:13:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":4878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3437:3:9","memberName":"max","nodeType":"MemberAccess","src":"3423:17:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3414:26:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4889,"nodeType":"IfStatement","src":"3410:346:9","trueBody":{"id":4888,"nodeType":"Block","src":"3442:314:9","statements":[{"id":4887,"nodeType":"UncheckedBlock","src":"3612:134:9","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4880,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4866,"src":"3647:5:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4881,"name":"offsetPtr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4842,"src":"3711:9:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":4882,"name":"ptrText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4818,"src":"3723:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3711:19:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4884,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3710:21:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3647:84:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4826,"id":4886,"nodeType":"Return","src":"3640:91:9"}]}]}}]}},{"assignments":[4893],"declarations":[{"constant":false,"id":4893,"mutability":"mutable","name":"repeatedX","nameLocation":"3776:9:9","nodeType":"VariableDeclaration","scope":4937,"src":"3768:17:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4892,"name":"uint256","nodeType":"ElementaryTypeName","src":"3768:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4897,"initialValue":{"arguments":[{"id":4895,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4822,"src":"3799:1:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":4894,"name":"repeatByte","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5204,"src":"3788:10:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint8) pure returns (uint256)"}},"id":4896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3788:13:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3768:33:9"},{"body":{"id":4929,"nodeType":"Block","src":"3835:882:9","statements":[{"id":4905,"nodeType":"UncheckedBlock","src":"3901:50:9","statements":[{"expression":{"id":4903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4901,"name":"offsetPtr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4842,"src":"3925:9:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"3332","id":4902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3938:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"3925:15:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4904,"nodeType":"ExpressionStatement","src":"3925:15:9"}]},{"assignments":[4907],"declarations":[{"constant":false,"id":4907,"mutability":"mutable","name":"chunkXZero","nameLocation":"4095:10:9","nodeType":"VariableDeclaration","scope":4929,"src":"4087:18:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4906,"name":"uint256","nodeType":"ElementaryTypeName","src":"4087:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4908,"nodeType":"VariableDeclarationStatement","src":"4087:18:9"},{"AST":{"nativeSrc":"4167:70:9","nodeType":"YulBlock","src":"4167:70:9","statements":[{"nativeSrc":"4181:46:9","nodeType":"YulAssignment","src":"4181:46:9","value":{"arguments":[{"arguments":[{"name":"offsetPtr","nativeSrc":"4205:9:9","nodeType":"YulIdentifier","src":"4205:9:9"}],"functionName":{"name":"mload","nativeSrc":"4199:5:9","nodeType":"YulIdentifier","src":"4199:5:9"},"nativeSrc":"4199:16:9","nodeType":"YulFunctionCall","src":"4199:16:9"},{"name":"repeatedX","nativeSrc":"4217:9:9","nodeType":"YulIdentifier","src":"4217:9:9"}],"functionName":{"name":"xor","nativeSrc":"4195:3:9","nodeType":"YulIdentifier","src":"4195:3:9"},"nativeSrc":"4195:32:9","nodeType":"YulFunctionCall","src":"4195:32:9"},"variableNames":[{"name":"chunkXZero","nativeSrc":"4181:10:9","nodeType":"YulIdentifier","src":"4181:10:9"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":4907,"isOffset":false,"isSlot":false,"src":"4181:10:9","valueSize":1},{"declaration":4842,"isOffset":false,"isSlot":false,"src":"4205:9:9","valueSize":1},{"declaration":4893,"isOffset":false,"isSlot":false,"src":"4217:9:9","valueSize":1}],"id":4909,"nodeType":"InlineAssembly","src":"4158:79:9"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4911,"name":"chunkXZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4907,"src":"4322:10:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4910,"name":"nonZeroIfXcontainsZeroByte","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"4295:26:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":4912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4295:38:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":4913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4337:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4295:43:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4928,"nodeType":"IfStatement","src":"4291:420:9","trueBody":{"id":4927,"nodeType":"Block","src":"4340:371:9","statements":[{"id":4926,"nodeType":"UncheckedBlock","src":"4494:207:9","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4916,"name":"offsetPtr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4842,"src":"4590:9:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3332","id":4917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4601:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},{"id":4918,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4822,"src":"4605:1:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":4915,"name":"memrchrWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5150,"src":"4578:11:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint8) pure returns (uint256)"}},"id":4919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4578:29:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4920,"name":"offsetPtr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4842,"src":"4666:9:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":4921,"name":"ptrText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4818,"src":"4678:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4666:19:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4923,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4665:21:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4578:108:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4826,"id":4925,"nodeType":"Return","src":"4522:164:9"}]}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4898,"name":"offsetPtr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4842,"src":"3814:9:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":4899,"name":"ptrText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4818,"src":"3826:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3814:19:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4930,"nodeType":"WhileStatement","src":"3807:910:9"},{"expression":{"expression":{"arguments":[{"id":4933,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4751:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4932,"name":"uint256","nodeType":"ElementaryTypeName","src":"4751:7:9","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":4931,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4746:4:9","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":4934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4746:13:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":4935,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4760:3:9","memberName":"max","nodeType":"MemberAccess","src":"4746:17:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4826,"id":4936,"nodeType":"Return","src":"4739:24:9"}]},"documentation":{"id":4816,"nodeType":"StructuredDocumentation","src":"2552:107:9","text":" @dev Returns the last index matching the byte `x` in text;\n or type(uint256).max if not found."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"memrchr","nameLocation":"2669:7:9","parameters":{"id":4823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4818,"mutability":"mutable","name":"ptrText","nameLocation":"2685:7:9","nodeType":"VariableDeclaration","scope":4938,"src":"2677:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4817,"name":"uint256","nodeType":"ElementaryTypeName","src":"2677:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4820,"mutability":"mutable","name":"lenText","nameLocation":"2702:7:9","nodeType":"VariableDeclaration","scope":4938,"src":"2694:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4819,"name":"uint256","nodeType":"ElementaryTypeName","src":"2694:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4822,"mutability":"mutable","name":"x","nameLocation":"2717:1:9","nodeType":"VariableDeclaration","scope":4938,"src":"2711:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4821,"name":"uint8","nodeType":"ElementaryTypeName","src":"2711:5:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2676:43:9"},"returnParameters":{"id":4826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4825,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4938,"src":"2734:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4824,"name":"uint256","nodeType":"ElementaryTypeName","src":"2734:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2733:9:9"},"scope":5205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":5099,"nodeType":"FunctionDefinition","src":"4983:1425:9","nodes":[],"body":{"id":5098,"nodeType":"Block","src":"5069:1339:9","nodes":[],"statements":[{"assignments":[4951],"declarations":[{"constant":false,"id":4951,"mutability":"mutable","name":"chunk","nameLocation":"5083:5:9","nodeType":"VariableDeclaration","scope":5098,"src":"5075:13:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4950,"name":"uint256","nodeType":"ElementaryTypeName","src":"5075:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4952,"nodeType":"VariableDeclarationStatement","src":"5075:13:9"},{"AST":{"nativeSrc":"5142:39:9","nodeType":"YulBlock","src":"5142:39:9","statements":[{"nativeSrc":"5152:23:9","nodeType":"YulAssignment","src":"5152:23:9","value":{"arguments":[{"name":"ptrText","nativeSrc":"5167:7:9","nodeType":"YulIdentifier","src":"5167:7:9"}],"functionName":{"name":"mload","nativeSrc":"5161:5:9","nodeType":"YulIdentifier","src":"5161:5:9"},"nativeSrc":"5161:14:9","nodeType":"YulFunctionCall","src":"5161:14:9"},"variableNames":[{"name":"chunk","nativeSrc":"5152:5:9","nodeType":"YulIdentifier","src":"5152:5:9"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":4951,"isOffset":false,"isSlot":false,"src":"5152:5:9","valueSize":1},{"declaration":4941,"isOffset":false,"isSlot":false,"src":"5167:7:9","valueSize":1}],"id":4953,"nodeType":"InlineAssembly","src":"5133:48:9"},{"assignments":[4955],"declarations":[{"constant":false,"id":4955,"mutability":"mutable","name":"i","nameLocation":"5195:1:9","nodeType":"VariableDeclaration","scope":5098,"src":"5187:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4954,"name":"uint256","nodeType":"ElementaryTypeName","src":"5187:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4956,"nodeType":"VariableDeclarationStatement","src":"5187:9:9"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4957,"name":"lenText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"5206:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3332","id":4958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5216:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"5206:12:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4965,"nodeType":"IfStatement","src":"5202:47:9","trueBody":{"id":4964,"nodeType":"Block","src":"5220:29:9","statements":[{"expression":{"id":4962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4960,"name":"lenText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"5230:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"3332","id":4961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5240:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"5230:12:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4963,"nodeType":"ExpressionStatement","src":"5230:12:9"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4966,"name":"lenText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"5421:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"id":4969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3136","id":4967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5432:2:9","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":4968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5437:1:9","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"5432:6:9","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}},"src":"5421:17:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5038,"name":"lenText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"5904:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"id":5041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"38","id":5039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5915:1:9","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":5040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5919:1:9","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"5915:5:9","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"}},"src":"5904:16:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5069,"nodeType":"IfStatement","src":"5900:188:9","trueBody":{"id":5068,"nodeType":"Block","src":"5922:166:9","statements":[{"assignments":[5044],"declarations":[{"constant":false,"id":5044,"mutability":"mutable","name":"repeatedX","nameLocation":"5940:9:9","nodeType":"VariableDeclaration","scope":5068,"src":"5932:17:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5043,"name":"uint256","nodeType":"ElementaryTypeName","src":"5932:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5050,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5045,"name":"chunk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4951,"src":"5952:5:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"id":5047,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"5971:1:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":5046,"name":"repeatByte","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5204,"src":"5960:10:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint8) pure returns (uint256)"}},"id":5048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5960:13:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5952:21:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5932:41:9"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5052,"name":"repeatedX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5044,"src":"6015:9:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"expression":{"arguments":[{"id":5055,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6032:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint192_$","typeString":"type(uint192)"},"typeName":{"id":5054,"name":"uint192","nodeType":"ElementaryTypeName","src":"6032:7:9","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint192_$","typeString":"type(uint192)"}],"id":5053,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"6027:4:9","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":5056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6027:13:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint192","typeString":"type(uint192)"}},"id":5057,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6041:3:9","memberName":"max","nodeType":"MemberAccess","src":"6027:17:9","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"src":"6015:29:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5051,"name":"nonZeroIfXcontainsZeroByte","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"5988:26:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":5059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5988:57:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6049:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5988:62:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5067,"nodeType":"IfStatement","src":"5984:98:9","trueBody":{"id":5066,"nodeType":"Block","src":"6052:30:9","statements":[{"expression":{"id":5064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5062,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4955,"src":"6066:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"38","id":5063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6070:1:9","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"6066:5:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5065,"nodeType":"ExpressionStatement","src":"6066:5:9"}]}}]}},"id":5070,"nodeType":"IfStatement","src":"5417:671:9","trueBody":{"id":5037,"nodeType":"Block","src":"5440:454:9","statements":[{"assignments":[4972],"declarations":[{"constant":false,"id":4972,"mutability":"mutable","name":"repeatedX","nameLocation":"5458:9:9","nodeType":"VariableDeclaration","scope":5037,"src":"5450:17:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4971,"name":"uint256","nodeType":"ElementaryTypeName","src":"5450:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4978,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4973,"name":"chunk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4951,"src":"5470:5:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"id":4975,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"5489:1:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":4974,"name":"repeatByte","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5204,"src":"5478:10:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint8) pure returns (uint256)"}},"id":4976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5478:13:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5470:21:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5450:41:9"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4980,"name":"repeatedX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4972,"src":"5533:9:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"expression":{"arguments":[{"id":4983,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5550:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":4982,"name":"uint128","nodeType":"ElementaryTypeName","src":"5550:7:9","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"}],"id":4981,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"5545:4:9","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":4984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5545:13:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint128","typeString":"type(uint128)"}},"id":4985,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5559:3:9","memberName":"max","nodeType":"MemberAccess","src":"5545:17:9","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"5533:29:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4979,"name":"nonZeroIfXcontainsZeroByte","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"5506:26:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":4987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5506:57:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5567:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5506:62:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5020,"name":"repeatedX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4972,"src":"5821:9:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"expression":{"arguments":[{"id":5023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5838:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint192_$","typeString":"type(uint192)"},"typeName":{"id":5022,"name":"uint192","nodeType":"ElementaryTypeName","src":"5838:7:9","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint192_$","typeString":"type(uint192)"}],"id":5021,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"5833:4:9","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":5024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5833:13:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint192","typeString":"type(uint192)"}},"id":5025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5847:3:9","memberName":"max","nodeType":"MemberAccess","src":"5833:17:9","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"src":"5821:29:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5019,"name":"nonZeroIfXcontainsZeroByte","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"5794:26:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":5027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5794:57:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5855:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5794:62:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5035,"nodeType":"IfStatement","src":"5790:98:9","trueBody":{"id":5034,"nodeType":"Block","src":"5858:30:9","statements":[{"expression":{"id":5032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5030,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4955,"src":"5872:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"38","id":5031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5876:1:9","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"5872:5:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5033,"nodeType":"ExpressionStatement","src":"5872:5:9"}]}},"id":5036,"nodeType":"IfStatement","src":"5502:386:9","trueBody":{"id":5018,"nodeType":"Block","src":"5570:214:9","statements":[{"expression":{"id":4992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4990,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4955,"src":"5584:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"3136","id":4991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5588:2:9","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"5584:6:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4993,"nodeType":"ExpressionStatement","src":"5584:6:9"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4994,"name":"lenText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"5609:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_26_by_1","typeString":"int_const 26"},"id":4997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3234","id":4995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5620:2:9","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":4996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5625:1:9","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"5620:6:9","typeDescriptions":{"typeIdentifier":"t_rational_26_by_1","typeString":"int_const 26"}},"src":"5609:17:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5017,"nodeType":"IfStatement","src":"5605:169:9","trueBody":{"id":5016,"nodeType":"Block","src":"5628:146:9","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5000,"name":"repeatedX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4972,"src":"5677:9:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"expression":{"arguments":[{"id":5003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5694:6:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":5002,"name":"uint64","nodeType":"ElementaryTypeName","src":"5694:6:9","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"}],"id":5001,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"5689:4:9","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":5004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5689:12:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint64","typeString":"type(uint64)"}},"id":5005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5702:3:9","memberName":"max","nodeType":"MemberAccess","src":"5689:16:9","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"5677:28:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4999,"name":"nonZeroIfXcontainsZeroByte","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"5650:26:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":5007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5650:56:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5710:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5650:61:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5015,"nodeType":"IfStatement","src":"5646:114:9","trueBody":{"id":5014,"nodeType":"Block","src":"5713:47:9","statements":[{"expression":{"id":5012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5010,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4955,"src":"5735:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"3234","id":5011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5739:2:9","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},"src":"5735:6:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5013,"nodeType":"ExpressionStatement","src":"5735:6:9"}]}}]}}]}}]}},{"id":5091,"nodeType":"UncheckedBlock","src":"6168:191:9","statements":[{"body":{"id":5089,"nodeType":"Block","src":"6214:139:9","statements":[{"assignments":[5080],"declarations":[{"constant":false,"id":5080,"mutability":"mutable","name":"b","nameLocation":"6234:1:9","nodeType":"VariableDeclaration","scope":5089,"src":"6228:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5079,"name":"uint8","nodeType":"ElementaryTypeName","src":"6228:5:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":5081,"nodeType":"VariableDeclarationStatement","src":"6228:7:9"},{"AST":{"nativeSrc":"6258:51:9","nodeType":"YulBlock","src":"6258:51:9","statements":[{"nativeSrc":"6276:19:9","nodeType":"YulAssignment","src":"6276:19:9","value":{"arguments":[{"name":"i","nativeSrc":"6286:1:9","nodeType":"YulIdentifier","src":"6286:1:9"},{"name":"chunk","nativeSrc":"6289:5:9","nodeType":"YulIdentifier","src":"6289:5:9"}],"functionName":{"name":"byte","nativeSrc":"6281:4:9","nodeType":"YulIdentifier","src":"6281:4:9"},"nativeSrc":"6281:14:9","nodeType":"YulFunctionCall","src":"6281:14:9"},"variableNames":[{"name":"b","nativeSrc":"6276:1:9","nodeType":"YulIdentifier","src":"6276:1:9"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":5080,"isOffset":false,"isSlot":false,"src":"6276:1:9","valueSize":1},{"declaration":4951,"isOffset":false,"isSlot":false,"src":"6289:5:9","valueSize":1},{"declaration":4955,"isOffset":false,"isSlot":false,"src":"6286:1:9","valueSize":1}],"id":5082,"nodeType":"InlineAssembly","src":"6249:60:9"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":5085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5083,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5080,"src":"6326:1:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":5084,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"6331:1:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"6326:6:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5088,"nodeType":"IfStatement","src":"6322:20:9","trueBody":{"expression":{"id":5086,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4955,"src":"6341:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4949,"id":5087,"nodeType":"Return","src":"6334:8:9"}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5073,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4955,"src":"6196:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":5074,"name":"lenText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"6200:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6196:11:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5090,"initializationExpression":{"expression":{"id":5071,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4955,"src":"6193:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5072,"nodeType":"ExpressionStatement","src":"6193:1:9"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":5077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6209:3:9","subExpression":{"id":5076,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4955,"src":"6209:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5078,"nodeType":"ExpressionStatement","src":"6209:3:9"},"nodeType":"ForStatement","src":"6188:165:9"}]},{"expression":{"expression":{"arguments":[{"id":5094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6393:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5093,"name":"uint256","nodeType":"ElementaryTypeName","src":"6393:7:9","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":5092,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"6388:4:9","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":5095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6388:13:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":5096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6402:3:9","memberName":"max","nodeType":"MemberAccess","src":"6388:17:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4949,"id":5097,"nodeType":"Return","src":"6381:24:9"}]},"documentation":{"id":4939,"nodeType":"StructuredDocumentation","src":"4768:214:9","text":" @dev Returns the first index matching the byte `x` in text;\n or type(uint256).max if not found.\n \n WARNING: it works ONLY for length 32 or less.\n This is for use by memchr after its chunk search."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"memchrWord","nameLocation":"4992:10:9","parameters":{"id":4946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4941,"mutability":"mutable","name":"ptrText","nameLocation":"5011:7:9","nodeType":"VariableDeclaration","scope":5099,"src":"5003:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4940,"name":"uint256","nodeType":"ElementaryTypeName","src":"5003:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4943,"mutability":"mutable","name":"lenText","nameLocation":"5028:7:9","nodeType":"VariableDeclaration","scope":5099,"src":"5020:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4942,"name":"uint256","nodeType":"ElementaryTypeName","src":"5020:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4945,"mutability":"mutable","name":"x","nameLocation":"5043:1:9","nodeType":"VariableDeclaration","scope":5099,"src":"5037:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4944,"name":"uint8","nodeType":"ElementaryTypeName","src":"5037:5:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"5002:43:9"},"returnParameters":{"id":4949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4948,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5099,"src":"5060:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4947,"name":"uint256","nodeType":"ElementaryTypeName","src":"5060:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5059:9:9"},"scope":5205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":5150,"nodeType":"FunctionDefinition","src":"6625:548:9","nodes":[],"body":{"id":5149,"nodeType":"Block","src":"6712:461:9","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5111,"name":"lenText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"6722:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3332","id":5112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6732:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"6722:12:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5119,"nodeType":"IfStatement","src":"6718:47:9","trueBody":{"id":5118,"nodeType":"Block","src":"6736:29:9","statements":[{"expression":{"id":5116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5114,"name":"lenText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"6746:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"3332","id":5115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6756:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"6746:12:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5117,"nodeType":"ExpressionStatement","src":"6746:12:9"}]}},{"assignments":[5121],"declarations":[{"constant":false,"id":5121,"mutability":"mutable","name":"chunk","nameLocation":"6778:5:9","nodeType":"VariableDeclaration","scope":5149,"src":"6770:13:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5120,"name":"uint256","nodeType":"ElementaryTypeName","src":"6770:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5122,"nodeType":"VariableDeclarationStatement","src":"6770:13:9"},{"AST":{"nativeSrc":"6837:39:9","nodeType":"YulBlock","src":"6837:39:9","statements":[{"nativeSrc":"6847:23:9","nodeType":"YulAssignment","src":"6847:23:9","value":{"arguments":[{"name":"ptrText","nativeSrc":"6862:7:9","nodeType":"YulIdentifier","src":"6862:7:9"}],"functionName":{"name":"mload","nativeSrc":"6856:5:9","nodeType":"YulIdentifier","src":"6856:5:9"},"nativeSrc":"6856:14:9","nodeType":"YulFunctionCall","src":"6856:14:9"},"variableNames":[{"name":"chunk","nativeSrc":"6847:5:9","nodeType":"YulIdentifier","src":"6847:5:9"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":5121,"isOffset":false,"isSlot":false,"src":"6847:5:9","valueSize":1},{"declaration":5102,"isOffset":false,"isSlot":false,"src":"6862:7:9","valueSize":1}],"id":5123,"nodeType":"InlineAssembly","src":"6828:48:9"},{"body":{"id":5141,"nodeType":"Block","src":"6902:222:9","statements":[{"id":5130,"nodeType":"UncheckedBlock","src":"6954:44:9","statements":[{"expression":{"id":5128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"6978:9:9","subExpression":{"id":5127,"name":"lenText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"6978:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5129,"nodeType":"ExpressionStatement","src":"6978:9:9"}]},{"assignments":[5132],"declarations":[{"constant":false,"id":5132,"mutability":"mutable","name":"b","nameLocation":"7013:1:9","nodeType":"VariableDeclaration","scope":5141,"src":"7007:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5131,"name":"uint8","nodeType":"ElementaryTypeName","src":"7007:5:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":5133,"nodeType":"VariableDeclarationStatement","src":"7007:7:9"},{"AST":{"nativeSrc":"7033:49:9","nodeType":"YulBlock","src":"7033:49:9","statements":[{"nativeSrc":"7047:25:9","nodeType":"YulAssignment","src":"7047:25:9","value":{"arguments":[{"name":"lenText","nativeSrc":"7057:7:9","nodeType":"YulIdentifier","src":"7057:7:9"},{"name":"chunk","nativeSrc":"7066:5:9","nodeType":"YulIdentifier","src":"7066:5:9"}],"functionName":{"name":"byte","nativeSrc":"7052:4:9","nodeType":"YulIdentifier","src":"7052:4:9"},"nativeSrc":"7052:20:9","nodeType":"YulFunctionCall","src":"7052:20:9"},"variableNames":[{"name":"b","nativeSrc":"7047:1:9","nodeType":"YulIdentifier","src":"7047:1:9"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":5132,"isOffset":false,"isSlot":false,"src":"7047:1:9","valueSize":1},{"declaration":5121,"isOffset":false,"isSlot":false,"src":"7066:5:9","valueSize":1},{"declaration":5104,"isOffset":false,"isSlot":false,"src":"7057:7:9","valueSize":1}],"id":5134,"nodeType":"InlineAssembly","src":"7024:58:9"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":5137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5135,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5132,"src":"7095:1:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":5136,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5106,"src":"7100:1:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"7095:6:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5140,"nodeType":"IfStatement","src":"7091:26:9","trueBody":{"expression":{"id":5138,"name":"lenText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"7110:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":5110,"id":5139,"nodeType":"Return","src":"7103:14:9"}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5124,"name":"lenText","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"6889:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":5125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6899:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6889:11:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5142,"nodeType":"WhileStatement","src":"6882:242:9"},{"expression":{"expression":{"arguments":[{"id":5145,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7158:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5144,"name":"uint256","nodeType":"ElementaryTypeName","src":"7158:7:9","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":5143,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"7153:4:9","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":5146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7153:13:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":5147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7167:3:9","memberName":"max","nodeType":"MemberAccess","src":"7153:17:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":5110,"id":5148,"nodeType":"Return","src":"7146:24:9"}]},"documentation":{"id":5100,"nodeType":"StructuredDocumentation","src":"6410:214:9","text":" @dev Returns the last index matching the byte `x` in text;\n or type(uint256).max if not found.\n \n WARNING: it works ONLY for length 32 or less.\n This is for use by memrchr after its chunk search."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"memrchrWord","nameLocation":"6634:11:9","parameters":{"id":5107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5102,"mutability":"mutable","name":"ptrText","nameLocation":"6654:7:9","nodeType":"VariableDeclaration","scope":5150,"src":"6646:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5101,"name":"uint256","nodeType":"ElementaryTypeName","src":"6646:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5104,"mutability":"mutable","name":"lenText","nameLocation":"6671:7:9","nodeType":"VariableDeclaration","scope":5150,"src":"6663:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5103,"name":"uint256","nodeType":"ElementaryTypeName","src":"6663:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5106,"mutability":"mutable","name":"x","nameLocation":"6686:1:9","nodeType":"VariableDeclaration","scope":5150,"src":"6680:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5105,"name":"uint8","nodeType":"ElementaryTypeName","src":"6680:5:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"6645:43:9"},"returnParameters":{"id":5110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5109,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5150,"src":"6703:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5108,"name":"uint256","nodeType":"ElementaryTypeName","src":"6703:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6702:9:9"},"scope":5205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":5154,"nodeType":"VariableDeclaration","src":"7223:93:9","nodes":[],"constant":true,"mutability":"constant","name":"LO_U256","nameLocation":"7240:7:9","scope":5205,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5152,"name":"uint256","nodeType":"ElementaryTypeName","src":"7223:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"307830313031303130313031303130313031303130313031303130313031303130313031303130313031303130313031303130313031303130313031303130313031","id":5153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7250:66:9","typeDescriptions":{"typeIdentifier":"t_rational_454086624460063511464984254936031011189294057512315937409637584344757371137_by_1","typeString":"int_const 4540...(67 digits omitted)...1137"},"value":"0x0101010101010101010101010101010101010101010101010101010101010101"},"visibility":"internal"},{"id":5158,"nodeType":"VariableDeclaration","src":"7367:93:9","nodes":[],"constant":true,"mutability":"constant","name":"HI_U256","nameLocation":"7384:7:9","scope":5205,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5156,"name":"uint256","nodeType":"ElementaryTypeName","src":"7367:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"307838303830383038303830383038303830383038303830383038303830383038303830383038303830383038303830383038303830383038303830383038303830","id":5157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7394:66:9","typeDescriptions":{"typeIdentifier":"t_rational_58123087930888129467517984631811969432229639361576439988433610796128943505536_by_1","typeString":"int_const 5812...(69 digits omitted)...5536"},"value":"0x8080808080808080808080808080808080808080808080808080808080808080"},"visibility":"internal"},{"id":5179,"nodeType":"FunctionDefinition","src":"7782:650:9","nodes":[],"body":{"id":5178,"nodeType":"Block","src":"7852:580:9","nodes":[],"statements":[{"id":5177,"nodeType":"UncheckedBlock","src":"7858:64:9","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5166,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5161,"src":"7886:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":5167,"name":"LO_U256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5154,"src":"7890:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7886:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":5169,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7885:13:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"id":5171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"7902:2:9","subExpression":{"id":5170,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5161,"src":"7903:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":5172,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7901:4:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7885:20:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":5174,"name":"HI_U256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5158,"src":"7908:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7885:30:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":5165,"id":5176,"nodeType":"Return","src":"7878:37:9"}]}]},"documentation":{"id":5159,"nodeType":"StructuredDocumentation","src":"7463:318:9","text":" @dev Returns a non-zero value if `x` contains any zero byte.\n (returning a bool would be less efficient)\n From *Matters Computational*, J. Arndt:\n \"The idea is to subtract one from each of the bytes and then look for\n bytes where the borrow propagated all the way to the most significant bit.\""},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"nonZeroIfXcontainsZeroByte","nameLocation":"7791:26:9","parameters":{"id":5162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5161,"mutability":"mutable","name":"x","nameLocation":"7826:1:9","nodeType":"VariableDeclaration","scope":5179,"src":"7818:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5160,"name":"uint256","nodeType":"ElementaryTypeName","src":"7818:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7817:11:9"},"returnParameters":{"id":5165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5164,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5179,"src":"7843:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5163,"name":"uint256","nodeType":"ElementaryTypeName","src":"7843:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7842:9:9"},"scope":5205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":5204,"nodeType":"FunctionDefinition","src":"8468:293:9","nodes":[],"body":{"id":5203,"nodeType":"Block","src":"8520:241:9","nodes":[],"statements":[{"id":5202,"nodeType":"UncheckedBlock","src":"8684:75:9","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5187,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5182,"src":"8711:1:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5198,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":5190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8721:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5189,"name":"uint256","nodeType":"ElementaryTypeName","src":"8721:7:9","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":5188,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8716:4:9","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":5191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8716:13:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":5192,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8730:3:9","memberName":"max","nodeType":"MemberAccess","src":"8716:17:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"expression":{"arguments":[{"id":5195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8741:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":5194,"name":"uint8","nodeType":"ElementaryTypeName","src":"8741:5:9","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"}],"id":5193,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8736:4:9","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":5196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8736:11:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint8","typeString":"type(uint8)"}},"id":5197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8748:3:9","memberName":"max","nodeType":"MemberAccess","src":"8736:15:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"8716:35:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":5199,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8715:37:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8711:41:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":5186,"id":5201,"nodeType":"Return","src":"8704:48:9"}]}]},"documentation":{"id":5180,"nodeType":"StructuredDocumentation","src":"8434:34:9","text":"@dev Repeat byte `b` 32 times"},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"repeatByte","nameLocation":"8477:10:9","parameters":{"id":5183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5182,"mutability":"mutable","name":"b","nameLocation":"8494:1:9","nodeType":"VariableDeclaration","scope":5204,"src":"8488:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5181,"name":"uint8","nodeType":"ElementaryTypeName","src":"8488:5:9","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"8487:9:9"},"returnParameters":{"id":5186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5185,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5204,"src":"8511:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5184,"name":"uint256","nodeType":"ElementaryTypeName","src":"8511:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8510:9:9"},"scope":5205,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"license":"MIT"},"id":9}