{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122090690c08d1d67c3c7df57fda68965046ed33eeeb043b28943ac2e5003986e8fc64736f6c63430008180033","sourceMap":"772:14289:41:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;772:14289:41;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122090690c08d1d67c3c7df57fda68965046ed33eeeb043b28943ac2e5003986e8fc64736f6c63430008180033","sourceMap":"772:14289:41:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":\"StoreHooks\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@dk1a/solidity-stringutils/=node_modules/@dk1a/solidity-stringutils/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":base/=src/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":solmate/=node_modules/solmate/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@dk1a/solidity-stringutils/=node_modules/@dk1a/solidity-stringutils/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin/=node_modules/@openzeppelin/","base/=src/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","solmate/=node_modules/solmate/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":"StoreHooks"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol","id":18665,"exportedSymbols":{"Bytes":[7243],"EncodeArray":[26427],"EncodedLengths":[7251],"EncodedLengthsLib":[7669],"FieldLayout":[7885],"IStore":[8658],"Memory":[9482],"ResourceId":[9486],"Schema":[9581],"SliceLib":[10192],"StoreCore":[12701],"StoreHooks":[18664],"StoreSwitch":[14558]},"nodeType":"SourceUnit","src":"32:15030:41","nodes":[{"id":17001,"nodeType":"PragmaDirective","src":"32:25:41","nodes":[],"literals":["solidity",">=","0.8",".24"]},{"id":17003,"nodeType":"ImportDirective","src":"134:42:41","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/IStore.sol","file":"../../IStore.sol","nameLocation":"-1:-1:-1","scope":18665,"sourceUnit":8659,"symbolAliases":[{"foreign":{"id":17002,"name":"IStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8658,"src":"143:6:41","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":17005,"nodeType":"ImportDirective","src":"177:52:41","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/StoreSwitch.sol","file":"../../StoreSwitch.sol","nameLocation":"-1:-1:-1","scope":18665,"sourceUnit":14559,"symbolAliases":[{"foreign":{"id":17004,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"186:11:41","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":17007,"nodeType":"ImportDirective","src":"230:48:41","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/StoreCore.sol","file":"../../StoreCore.sol","nameLocation":"-1:-1:-1","scope":18665,"sourceUnit":13234,"symbolAliases":[{"foreign":{"id":17006,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"239:9:41","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":17009,"nodeType":"ImportDirective","src":"279:40:41","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/Bytes.sol","file":"../../Bytes.sol","nameLocation":"-1:-1:-1","scope":18665,"sourceUnit":7244,"symbolAliases":[{"foreign":{"id":17008,"name":"Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7243,"src":"288:5:41","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":17011,"nodeType":"ImportDirective","src":"320:42:41","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/Memory.sol","file":"../../Memory.sol","nameLocation":"-1:-1:-1","scope":18665,"sourceUnit":9483,"symbolAliases":[{"foreign":{"id":17010,"name":"Memory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9482,"src":"329:6:41","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":17013,"nodeType":"ImportDirective","src":"363:43:41","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/Slice.sol","file":"../../Slice.sol","nameLocation":"-1:-1:-1","scope":18665,"sourceUnit":10290,"symbolAliases":[{"foreign":{"id":17012,"name":"SliceLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10192,"src":"372:8:41","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":17015,"nodeType":"ImportDirective","src":"407:63:41","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol","file":"../../tightcoder/EncodeArray.sol","nameLocation":"-1:-1:-1","scope":18665,"sourceUnit":26428,"symbolAliases":[{"foreign":{"id":17014,"name":"EncodeArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26427,"src":"416:11:41","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":17017,"nodeType":"ImportDirective","src":"471:52:41","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/FieldLayout.sol","file":"../../FieldLayout.sol","nameLocation":"-1:-1:-1","scope":18665,"sourceUnit":8362,"symbolAliases":[{"foreign":{"id":17016,"name":"FieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7885,"src":"480:11:41","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":17019,"nodeType":"ImportDirective","src":"524:42:41","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/Schema.sol","file":"../../Schema.sol","nameLocation":"-1:-1:-1","scope":18665,"sourceUnit":10058,"symbolAliases":[{"foreign":{"id":17018,"name":"Schema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9581,"src":"533:6:41","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":17022,"nodeType":"ImportDirective","src":"567:77:41","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/EncodedLengths.sol","file":"../../EncodedLengths.sol","nameLocation":"-1:-1:-1","scope":18665,"sourceUnit":7873,"symbolAliases":[{"foreign":{"id":17020,"name":"EncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7251,"src":"576:14:41","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":17021,"name":"EncodedLengthsLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7669,"src":"592:17:41","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":17024,"nodeType":"ImportDirective","src":"645:50:41","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/ResourceId.sol","file":"../../ResourceId.sol","nameLocation":"-1:-1:-1","scope":18665,"sourceUnit":9568,"symbolAliases":[{"foreign":{"id":17023,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"654:10:41","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":17026,"nodeType":"ImportDirective","src":"718:52:41","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/ResourceId.sol","file":"./../../ResourceId.sol","nameLocation":"-1:-1:-1","scope":18665,"sourceUnit":9568,"symbolAliases":[{"foreign":{"id":17025,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"727:10:41","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":18664,"nodeType":"ContractDefinition","src":"772:14289:41","nodes":[{"id":17033,"nodeType":"VariableDeclaration","src":"924:114:41","nodes":[],"constant":true,"mutability":"constant","name":"_tableId","nameLocation":"944:8:41","scope":18664,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":17028,"nodeType":"UserDefinedTypeName","pathNode":{"id":17027,"name":"ResourceId","nameLocations":["924:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"924:10:41"},"referencedDeclaration":9486,"src":"924:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"value":{"arguments":[{"hexValue":"307837343632373337343666373236353030303030303030303030303030303030303533373436663732363534383666366636623733303030303030303030303030","id":17031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"971:66:41","typeDescriptions":{"typeIdentifier":"t_rational_52642238287927600575750509169120573645640804667661522295875722992552060649472_by_1","typeString":"int_const 5264...(69 digits omitted)...9472"},"value":"0x746273746f726500000000000000000053746f7265486f6f6b73000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_52642238287927600575750509169120573645640804667661522295875722992552060649472_by_1","typeString":"int_const 5264...(69 digits omitted)...9472"}],"expression":{"id":17029,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"955:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":17030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"966:4:41","memberName":"wrap","nodeType":"MemberAccess","src":"955:15:41","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (bytes32) pure returns (ResourceId)"}},"id":17032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"955:83:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"id":17040,"nodeType":"VariableDeclaration","src":"1043:124:41","nodes":[],"constant":true,"mutability":"constant","name":"_fieldLayout","nameLocation":"1064:12:41","scope":18664,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},"typeName":{"id":17035,"nodeType":"UserDefinedTypeName","pathNode":{"id":17034,"name":"FieldLayout","nameLocations":["1043:11:41"],"nodeType":"IdentifierPath","referencedDeclaration":7885,"src":"1043:11:41"},"referencedDeclaration":7885,"src":"1043:11:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"value":{"arguments":[{"hexValue":"307830303030303030313030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030","id":17038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1100:66:41","typeDescriptions":{"typeIdentifier":"t_rational_26959946667150639794667015087019630673637144422540572481103610249216_by_1","typeString":"int_const 2695...(60 digits omitted)...9216"},"value":"0x0000000100000000000000000000000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_26959946667150639794667015087019630673637144422540572481103610249216_by_1","typeString":"int_const 2695...(60 digits omitted)...9216"}],"expression":{"id":17036,"name":"FieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7885,"src":"1083:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"type(FieldLayout)"}},"id":17037,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1095:4:41","memberName":"wrap","nodeType":"MemberAccess","src":"1083:16:41","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (bytes32) pure returns (FieldLayout)"}},"id":17039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1083:84:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"visibility":"internal"},{"id":17047,"nodeType":"VariableDeclaration","src":"1213:108:41","nodes":[],"constant":true,"mutability":"constant","name":"_keySchema","nameLocation":"1229:10:41","scope":18664,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"},"typeName":{"id":17042,"nodeType":"UserDefinedTypeName","pathNode":{"id":17041,"name":"Schema","nameLocations":["1213:6:41"],"nodeType":"IdentifierPath","referencedDeclaration":9581,"src":"1213:6:41"},"referencedDeclaration":9581,"src":"1213:6:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"value":{"arguments":[{"hexValue":"307830303230303130303566303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030","id":17045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1254:66:41","typeDescriptions":{"typeIdentifier":"t_rational_56546017823922797623385691081848299480623006104026040098612130125130498048_by_1","typeString":"int_const 5654...(66 digits omitted)...8048"},"value":"0x002001005f000000000000000000000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_56546017823922797623385691081848299480623006104026040098612130125130498048_by_1","typeString":"int_const 5654...(66 digits omitted)...8048"}],"expression":{"id":17043,"name":"Schema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9581,"src":"1242:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Schema_$9581_$","typeString":"type(Schema)"}},"id":17044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1249:4:41","memberName":"wrap","nodeType":"MemberAccess","src":"1242:11:41","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_Schema_$9581_$","typeString":"function (bytes32) pure returns (Schema)"}},"id":17046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1242:79:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"visibility":"internal"},{"id":17054,"nodeType":"VariableDeclaration","src":"1370:110:41","nodes":[],"constant":true,"mutability":"constant","name":"_valueSchema","nameLocation":"1386:12:41","scope":18664,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"},"typeName":{"id":17049,"nodeType":"UserDefinedTypeName","pathNode":{"id":17048,"name":"Schema","nameLocations":["1370:6:41"],"nodeType":"IdentifierPath","referencedDeclaration":9581,"src":"1370:6:41"},"referencedDeclaration":9581,"src":"1370:6:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"value":{"arguments":[{"hexValue":"307830303030303030316236303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030","id":17052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1413:66:41","typeDescriptions":{"typeIdentifier":"t_rational_46126783750828047773688096125447649355676051785440510729388208160768_by_1","typeString":"int_const 4612...(60 digits omitted)...0768"},"value":"0x00000001b6000000000000000000000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_46126783750828047773688096125447649355676051785440510729388208160768_by_1","typeString":"int_const 4612...(60 digits omitted)...0768"}],"expression":{"id":17050,"name":"Schema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9581,"src":"1401:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Schema_$9581_$","typeString":"type(Schema)"}},"id":17051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1408:4:41","memberName":"wrap","nodeType":"MemberAccess","src":"1401:11:41","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_Schema_$9581_$","typeString":"function (bytes32) pure returns (Schema)"}},"id":17053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1401:79:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"visibility":"internal"},{"id":17076,"nodeType":"FunctionDefinition","src":"1615:138:41","nodes":[],"body":{"id":17075,"nodeType":"Block","src":"1687:66:41","nodes":[],"statements":[{"expression":{"id":17067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":17061,"name":"keyNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17059,"src":"1693:8:41","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":17065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1717:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17064,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1704:12:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (string memory[] memory)"},"typeName":{"baseType":{"id":17062,"name":"string","nodeType":"ElementaryTypeName","src":"1708:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":17063,"nodeType":"ArrayTypeName","src":"1708:8:41","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":17066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1704:15:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"1693:26:41","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":17068,"nodeType":"ExpressionStatement","src":"1693:26:41"},{"expression":{"id":17073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17069,"name":"keyNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17059,"src":"1725:8:41","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":17071,"indexExpression":{"hexValue":"30","id":17070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1734:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1725:11:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"7461626c654964","id":17072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1739:9:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_ac128cef1ab3add4a444a23bfb6e72f018ecffd14946b20d472e170fd584452a","typeString":"literal_string \"tableId\""},"value":"tableId"},"src":"1725:23:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":17074,"nodeType":"ExpressionStatement","src":"1725:23:41"}]},"documentation":{"id":17055,"nodeType":"StructuredDocumentation","src":"1485:127:41","text":" @notice Get the table's key field names.\n @return keyNames An array of strings with the names of key fields."},"implemented":true,"kind":"function","modifiers":[],"name":"getKeyNames","nameLocation":"1624:11:41","parameters":{"id":17056,"nodeType":"ParameterList","parameters":[],"src":"1635:2:41"},"returnParameters":{"id":17060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17059,"mutability":"mutable","name":"keyNames","nameLocation":"1677:8:41","nodeType":"VariableDeclaration","scope":17076,"src":"1661:24:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":17057,"name":"string","nodeType":"ElementaryTypeName","src":"1661:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":17058,"nodeType":"ArrayTypeName","src":"1661:8:41","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"1660:26:41"},"scope":18664,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":17098,"nodeType":"FunctionDefinition","src":"1893:144:41","nodes":[],"body":{"id":17097,"nodeType":"Block","src":"1969:68:41","nodes":[],"statements":[{"expression":{"id":17089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":17083,"name":"fieldNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17081,"src":"1975:10:41","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":17087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2001:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1988:12:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (string memory[] memory)"},"typeName":{"baseType":{"id":17084,"name":"string","nodeType":"ElementaryTypeName","src":"1992:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":17085,"nodeType":"ArrayTypeName","src":"1992:8:41","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":17088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1988:15:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"1975:28:41","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":17090,"nodeType":"ExpressionStatement","src":"1975:28:41"},{"expression":{"id":17095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17091,"name":"fieldNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17081,"src":"2009:10:41","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":17093,"indexExpression":{"hexValue":"30","id":17092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2020:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2009:13:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"686f6f6b73","id":17094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2025:7:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f9bc50139270f117bd0fe24ad6d2e8fe1d7339aca12925d4afb84cb18f9b0ba","typeString":"literal_string \"hooks\""},"value":"hooks"},"src":"2009:23:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":17096,"nodeType":"ExpressionStatement","src":"2009:23:41"}]},"documentation":{"id":17077,"nodeType":"StructuredDocumentation","src":"1757:133:41","text":" @notice Get the table's value field names.\n @return fieldNames An array of strings with the names of value fields."},"implemented":true,"kind":"function","modifiers":[],"name":"getFieldNames","nameLocation":"1902:13:41","parameters":{"id":17078,"nodeType":"ParameterList","parameters":[],"src":"1915:2:41"},"returnParameters":{"id":17082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17081,"mutability":"mutable","name":"fieldNames","nameLocation":"1957:10:41","nodeType":"VariableDeclaration","scope":17098,"src":"1941:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":17079,"name":"string","nodeType":"ElementaryTypeName","src":"1941:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":17080,"nodeType":"ArrayTypeName","src":"1941:8:41","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"1940:28:41"},"scope":18664,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":17116,"nodeType":"FunctionDefinition","src":"2102:147:41","nodes":[],"body":{"id":17115,"nodeType":"Block","src":"2131:118:41","nodes":[],"statements":[{"expression":{"arguments":[{"id":17105,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"2163:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":17106,"name":"_fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17040,"src":"2173:12:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},{"id":17107,"name":"_keySchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17047,"src":"2187:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},{"id":17108,"name":"_valueSchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17054,"src":"2199:12:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},{"arguments":[],"expression":{"argumentTypes":[],"id":17109,"name":"getKeyNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17076,"src":"2213:11:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function () pure returns (string memory[] memory)"}},"id":17110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2213:13:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":17111,"name":"getFieldNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17098,"src":"2228:13:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function () pure returns (string memory[] memory)"}},"id":17112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2228:15:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"},{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":17102,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"2137:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":17104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2149:13:41","memberName":"registerTable","nodeType":"MemberAccess","referencedDeclaration":13582,"src":"2137:25:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_userDefinedValueType$_FieldLayout_$7885_$_t_userDefinedValueType$_Schema_$9581_$_t_userDefinedValueType$_Schema_$9581_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (ResourceId,FieldLayout,Schema,Schema,string memory[] memory,string memory[] memory)"}},"id":17113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2137:107:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17114,"nodeType":"ExpressionStatement","src":"2137:107:41"}]},"documentation":{"id":17099,"nodeType":"StructuredDocumentation","src":"2041:58:41","text":" @notice Register the table with its config."},"implemented":true,"kind":"function","modifiers":[],"name":"register","nameLocation":"2111:8:41","parameters":{"id":17100,"nodeType":"ParameterList","parameters":[],"src":"2119:2:41"},"returnParameters":{"id":17101,"nodeType":"ParameterList","parameters":[],"src":"2131:0:41"},"scope":18664,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":17134,"nodeType":"FunctionDefinition","src":"2314:146:41","nodes":[],"body":{"id":17133,"nodeType":"Block","src":"2344:116:41","nodes":[],"statements":[{"expression":{"arguments":[{"id":17123,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"2374:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":17124,"name":"_fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17040,"src":"2384:12:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},{"id":17125,"name":"_keySchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17047,"src":"2398:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},{"id":17126,"name":"_valueSchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17054,"src":"2410:12:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},{"arguments":[],"expression":{"argumentTypes":[],"id":17127,"name":"getKeyNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17076,"src":"2424:11:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function () pure returns (string memory[] memory)"}},"id":17128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2424:13:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":17129,"name":"getFieldNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17098,"src":"2439:13:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function () pure returns (string memory[] memory)"}},"id":17130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2439:15:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"},{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":17120,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"2350:9:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":17122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2360:13:41","memberName":"registerTable","nodeType":"MemberAccess","referencedDeclaration":11243,"src":"2350:23:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_userDefinedValueType$_FieldLayout_$7885_$_t_userDefinedValueType$_Schema_$9581_$_t_userDefinedValueType$_Schema_$9581_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (ResourceId,FieldLayout,Schema,Schema,string memory[] memory,string memory[] memory)"}},"id":17131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2350:105:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17132,"nodeType":"ExpressionStatement","src":"2350:105:41"}]},"documentation":{"id":17117,"nodeType":"StructuredDocumentation","src":"2253:58:41","text":" @notice Register the table with its config."},"implemented":true,"kind":"function","modifiers":[],"name":"_register","nameLocation":"2323:9:41","parameters":{"id":17118,"nodeType":"ParameterList","parameters":[],"src":"2332:2:41"},"returnParameters":{"id":17119,"nodeType":"ParameterList","parameters":[],"src":"2344:0:41"},"scope":18664,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":17185,"nodeType":"FunctionDefinition","src":"2500:348:41","nodes":[],"body":{"id":17184,"nodeType":"Block","src":"2585:263:41","nodes":[],"statements":[{"assignments":[17148],"declarations":[{"constant":false,"id":17148,"mutability":"mutable","name":"_keyTuple","nameLocation":"2608:9:41","nodeType":"VariableDeclaration","scope":17184,"src":"2591:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17146,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2591:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17147,"nodeType":"ArrayTypeName","src":"2591:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":17154,"initialValue":{"arguments":[{"hexValue":"31","id":17152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2634:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2620:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":17149,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2624:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17150,"nodeType":"ArrayTypeName","src":"2624:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":17153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2620:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2591:45:41"},{"expression":{"id":17162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17155,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17148,"src":"2642:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":17157,"indexExpression":{"hexValue":"30","id":17156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2652:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2642:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":17160,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17138,"src":"2675:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":17158,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"2657:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":17159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2668:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"2657:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":17161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2657:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2642:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17163,"nodeType":"ExpressionStatement","src":"2642:41:41"},{"assignments":[17165],"declarations":[{"constant":false,"id":17165,"mutability":"mutable","name":"_blob","nameLocation":"2703:5:41","nodeType":"VariableDeclaration","scope":17184,"src":"2690:18:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17164,"name":"bytes","nodeType":"ElementaryTypeName","src":"2690:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":17172,"initialValue":{"arguments":[{"id":17168,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"2739:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":17169,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17148,"src":"2749:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":17170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2760:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":17166,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"2711:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":17167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2723:15:41","memberName":"getDynamicField","nodeType":"MemberAccess","referencedDeclaration":14364,"src":"2711:27:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes32[] memory,uint8) view returns (bytes memory)"}},"id":17171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2711:51:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"2690:72:41"},{"expression":{"components":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":17175,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17165,"src":"2797:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":17176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2804:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":17177,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17165,"src":"2807:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":17178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2813:6:41","memberName":"length","nodeType":"MemberAccess","src":"2807:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17173,"name":"SliceLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10192,"src":"2776:8:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SliceLib_$10192_$","typeString":"type(library SliceLib)"}},"id":17174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2785:11:41","memberName":"getSubslice","nodeType":"MemberAccess","referencedDeclaration":10191,"src":"2776:20:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_userDefinedValueType$_Slice_$10067_$","typeString":"function (bytes memory,uint256,uint256) pure returns (Slice)"}},"id":17179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2776:44:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$10067","typeString":"Slice"}},"id":17180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2821:19:41","memberName":"decodeArray_bytes21","nodeType":"MemberAccess","referencedDeclaration":23756,"src":"2776:64:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$10067_$returns$_t_array$_t_bytes21_$dyn_memory_ptr_$attached_to$_t_userDefinedValueType$_Slice_$10067_$","typeString":"function (Slice) pure returns (bytes21[] memory)"}},"id":17181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2776:66:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"id":17182,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2775:68:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"functionReturnParameters":17143,"id":17183,"nodeType":"Return","src":"2768:75:41"}]},"documentation":{"id":17135,"nodeType":"StructuredDocumentation","src":"2464:33:41","text":" @notice Get hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"getHooks","nameLocation":"2509:8:41","parameters":{"id":17139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17138,"mutability":"mutable","name":"tableId","nameLocation":"2529:7:41","nodeType":"VariableDeclaration","scope":17185,"src":"2518:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":17137,"nodeType":"UserDefinedTypeName","pathNode":{"id":17136,"name":"ResourceId","nameLocations":["2518:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"2518:10:41"},"referencedDeclaration":9486,"src":"2518:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"2517:20:41"},"returnParameters":{"id":17143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17142,"mutability":"mutable","name":"hooks","nameLocation":"2578:5:41","nodeType":"VariableDeclaration","scope":17185,"src":"2561:22:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":17140,"name":"bytes21","nodeType":"ElementaryTypeName","src":"2561:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":17141,"nodeType":"ArrayTypeName","src":"2561:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"2560:24:41"},"scope":18664,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17236,"nodeType":"FunctionDefinition","src":"2888:347:41","nodes":[],"body":{"id":17235,"nodeType":"Block","src":"2974:261:41","nodes":[],"statements":[{"assignments":[17199],"declarations":[{"constant":false,"id":17199,"mutability":"mutable","name":"_keyTuple","nameLocation":"2997:9:41","nodeType":"VariableDeclaration","scope":17235,"src":"2980:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17197,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2980:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17198,"nodeType":"ArrayTypeName","src":"2980:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":17205,"initialValue":{"arguments":[{"hexValue":"31","id":17203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3023:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3009:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":17200,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3013:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17201,"nodeType":"ArrayTypeName","src":"3013:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":17204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3009:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2980:45:41"},{"expression":{"id":17213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17206,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17199,"src":"3031:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":17208,"indexExpression":{"hexValue":"30","id":17207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3041:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3031:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":17211,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17189,"src":"3064:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":17209,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"3046:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":17210,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3057:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"3046:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":17212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3046:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3031:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17214,"nodeType":"ExpressionStatement","src":"3031:41:41"},{"assignments":[17216],"declarations":[{"constant":false,"id":17216,"mutability":"mutable","name":"_blob","nameLocation":"3092:5:41","nodeType":"VariableDeclaration","scope":17235,"src":"3079:18:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17215,"name":"bytes","nodeType":"ElementaryTypeName","src":"3079:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":17223,"initialValue":{"arguments":[{"id":17219,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"3126:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":17220,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17199,"src":"3136:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":17221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3147:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":17217,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"3100:9:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":17218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3110:15:41","memberName":"getDynamicField","nodeType":"MemberAccess","referencedDeclaration":12517,"src":"3100:25:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes32[] memory,uint8) view returns (bytes memory)"}},"id":17222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3100:49:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3079:70:41"},{"expression":{"components":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":17226,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17216,"src":"3184:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":17227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3191:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":17228,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17216,"src":"3194:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":17229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3200:6:41","memberName":"length","nodeType":"MemberAccess","src":"3194:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17224,"name":"SliceLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10192,"src":"3163:8:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SliceLib_$10192_$","typeString":"type(library SliceLib)"}},"id":17225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3172:11:41","memberName":"getSubslice","nodeType":"MemberAccess","referencedDeclaration":10191,"src":"3163:20:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_userDefinedValueType$_Slice_$10067_$","typeString":"function (bytes memory,uint256,uint256) pure returns (Slice)"}},"id":17230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3163:44:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$10067","typeString":"Slice"}},"id":17231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3208:19:41","memberName":"decodeArray_bytes21","nodeType":"MemberAccess","referencedDeclaration":23756,"src":"3163:64:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$10067_$returns$_t_array$_t_bytes21_$dyn_memory_ptr_$attached_to$_t_userDefinedValueType$_Slice_$10067_$","typeString":"function (Slice) pure returns (bytes21[] memory)"}},"id":17232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3163:66:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"id":17233,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3162:68:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"functionReturnParameters":17194,"id":17234,"nodeType":"Return","src":"3155:75:41"}]},"documentation":{"id":17186,"nodeType":"StructuredDocumentation","src":"2852:33:41","text":" @notice Get hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"_getHooks","nameLocation":"2897:9:41","parameters":{"id":17190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17189,"mutability":"mutable","name":"tableId","nameLocation":"2918:7:41","nodeType":"VariableDeclaration","scope":17236,"src":"2907:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":17188,"nodeType":"UserDefinedTypeName","pathNode":{"id":17187,"name":"ResourceId","nameLocations":["2907:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"2907:10:41"},"referencedDeclaration":9486,"src":"2907:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"2906:20:41"},"returnParameters":{"id":17194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17193,"mutability":"mutable","name":"hooks","nameLocation":"2967:5:41","nodeType":"VariableDeclaration","scope":17236,"src":"2950:22:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":17191,"name":"bytes21","nodeType":"ElementaryTypeName","src":"2950:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":17192,"nodeType":"ArrayTypeName","src":"2950:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"2949:24:41"},"scope":18664,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17287,"nodeType":"FunctionDefinition","src":"3275:343:41","nodes":[],"body":{"id":17286,"nodeType":"Block","src":"3355:263:41","nodes":[],"statements":[{"assignments":[17250],"declarations":[{"constant":false,"id":17250,"mutability":"mutable","name":"_keyTuple","nameLocation":"3378:9:41","nodeType":"VariableDeclaration","scope":17286,"src":"3361:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17248,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3361:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17249,"nodeType":"ArrayTypeName","src":"3361:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":17256,"initialValue":{"arguments":[{"hexValue":"31","id":17254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3404:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3390:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":17251,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3394:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17252,"nodeType":"ArrayTypeName","src":"3394:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":17255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3390:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3361:45:41"},{"expression":{"id":17264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17257,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17250,"src":"3412:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":17259,"indexExpression":{"hexValue":"30","id":17258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3422:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3412:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":17262,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17240,"src":"3445:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":17260,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"3427:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":17261,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3438:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"3427:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":17263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3427:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3412:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17265,"nodeType":"ExpressionStatement","src":"3412:41:41"},{"assignments":[17267],"declarations":[{"constant":false,"id":17267,"mutability":"mutable","name":"_blob","nameLocation":"3473:5:41","nodeType":"VariableDeclaration","scope":17286,"src":"3460:18:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17266,"name":"bytes","nodeType":"ElementaryTypeName","src":"3460:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":17274,"initialValue":{"arguments":[{"id":17270,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"3509:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":17271,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17250,"src":"3519:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":17272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3530:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":17268,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"3481:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":17269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3493:15:41","memberName":"getDynamicField","nodeType":"MemberAccess","referencedDeclaration":14364,"src":"3481:27:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes32[] memory,uint8) view returns (bytes memory)"}},"id":17273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3481:51:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3460:72:41"},{"expression":{"components":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":17277,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17267,"src":"3567:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":17278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3574:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":17279,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17267,"src":"3577:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":17280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3583:6:41","memberName":"length","nodeType":"MemberAccess","src":"3577:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17275,"name":"SliceLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10192,"src":"3546:8:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SliceLib_$10192_$","typeString":"type(library SliceLib)"}},"id":17276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3555:11:41","memberName":"getSubslice","nodeType":"MemberAccess","referencedDeclaration":10191,"src":"3546:20:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_userDefinedValueType$_Slice_$10067_$","typeString":"function (bytes memory,uint256,uint256) pure returns (Slice)"}},"id":17281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3546:44:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$10067","typeString":"Slice"}},"id":17282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3591:19:41","memberName":"decodeArray_bytes21","nodeType":"MemberAccess","referencedDeclaration":23756,"src":"3546:64:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$10067_$returns$_t_array$_t_bytes21_$dyn_memory_ptr_$attached_to$_t_userDefinedValueType$_Slice_$10067_$","typeString":"function (Slice) pure returns (bytes21[] memory)"}},"id":17283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3546:66:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"id":17284,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3545:68:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"functionReturnParameters":17245,"id":17285,"nodeType":"Return","src":"3538:75:41"}]},"documentation":{"id":17237,"nodeType":"StructuredDocumentation","src":"3239:33:41","text":" @notice Get hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"3284:3:41","parameters":{"id":17241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17240,"mutability":"mutable","name":"tableId","nameLocation":"3299:7:41","nodeType":"VariableDeclaration","scope":17287,"src":"3288:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":17239,"nodeType":"UserDefinedTypeName","pathNode":{"id":17238,"name":"ResourceId","nameLocations":["3288:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"3288:10:41"},"referencedDeclaration":9486,"src":"3288:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"3287:20:41"},"returnParameters":{"id":17245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17244,"mutability":"mutable","name":"hooks","nameLocation":"3348:5:41","nodeType":"VariableDeclaration","scope":17287,"src":"3331:22:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":17242,"name":"bytes21","nodeType":"ElementaryTypeName","src":"3331:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":17243,"nodeType":"ArrayTypeName","src":"3331:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"3330:24:41"},"scope":18664,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17338,"nodeType":"FunctionDefinition","src":"3658:342:41","nodes":[],"body":{"id":17337,"nodeType":"Block","src":"3739:261:41","nodes":[],"statements":[{"assignments":[17301],"declarations":[{"constant":false,"id":17301,"mutability":"mutable","name":"_keyTuple","nameLocation":"3762:9:41","nodeType":"VariableDeclaration","scope":17337,"src":"3745:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17299,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3745:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17300,"nodeType":"ArrayTypeName","src":"3745:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":17307,"initialValue":{"arguments":[{"hexValue":"31","id":17305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3788:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17304,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3774:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":17302,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3778:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17303,"nodeType":"ArrayTypeName","src":"3778:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":17306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3774:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3745:45:41"},{"expression":{"id":17315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17308,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17301,"src":"3796:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":17310,"indexExpression":{"hexValue":"30","id":17309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3806:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3796:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":17313,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17291,"src":"3829:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":17311,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"3811:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":17312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3822:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"3811:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":17314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3811:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3796:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17316,"nodeType":"ExpressionStatement","src":"3796:41:41"},{"assignments":[17318],"declarations":[{"constant":false,"id":17318,"mutability":"mutable","name":"_blob","nameLocation":"3857:5:41","nodeType":"VariableDeclaration","scope":17337,"src":"3844:18:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17317,"name":"bytes","nodeType":"ElementaryTypeName","src":"3844:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":17325,"initialValue":{"arguments":[{"id":17321,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"3891:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":17322,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17301,"src":"3901:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":17323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3912:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":17319,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"3865:9:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":17320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3875:15:41","memberName":"getDynamicField","nodeType":"MemberAccess","referencedDeclaration":12517,"src":"3865:25:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes32[] memory,uint8) view returns (bytes memory)"}},"id":17324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3865:49:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3844:70:41"},{"expression":{"components":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":17328,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17318,"src":"3949:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":17329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3956:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":17330,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17318,"src":"3959:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":17331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3965:6:41","memberName":"length","nodeType":"MemberAccess","src":"3959:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17326,"name":"SliceLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10192,"src":"3928:8:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SliceLib_$10192_$","typeString":"type(library SliceLib)"}},"id":17327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3937:11:41","memberName":"getSubslice","nodeType":"MemberAccess","referencedDeclaration":10191,"src":"3928:20:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_userDefinedValueType$_Slice_$10067_$","typeString":"function (bytes memory,uint256,uint256) pure returns (Slice)"}},"id":17332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3928:44:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$10067","typeString":"Slice"}},"id":17333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3973:19:41","memberName":"decodeArray_bytes21","nodeType":"MemberAccess","referencedDeclaration":23756,"src":"3928:64:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$10067_$returns$_t_array$_t_bytes21_$dyn_memory_ptr_$attached_to$_t_userDefinedValueType$_Slice_$10067_$","typeString":"function (Slice) pure returns (bytes21[] memory)"}},"id":17334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3928:66:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"id":17335,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3927:68:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"functionReturnParameters":17296,"id":17336,"nodeType":"Return","src":"3920:75:41"}]},"documentation":{"id":17288,"nodeType":"StructuredDocumentation","src":"3622:33:41","text":" @notice Get hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"_get","nameLocation":"3667:4:41","parameters":{"id":17292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17291,"mutability":"mutable","name":"tableId","nameLocation":"3683:7:41","nodeType":"VariableDeclaration","scope":17338,"src":"3672:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":17290,"nodeType":"UserDefinedTypeName","pathNode":{"id":17289,"name":"ResourceId","nameLocations":["3672:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"3672:10:41"},"referencedDeclaration":9486,"src":"3672:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"3671:20:41"},"returnParameters":{"id":17296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17295,"mutability":"mutable","name":"hooks","nameLocation":"3732:5:41","nodeType":"VariableDeclaration","scope":17338,"src":"3715:22:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":17293,"name":"bytes21","nodeType":"ElementaryTypeName","src":"3715:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":17294,"nodeType":"ArrayTypeName","src":"3715:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"3714:24:41"},"scope":18664,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17382,"nodeType":"FunctionDefinition","src":"4040:261:41","nodes":[],"body":{"id":17381,"nodeType":"Block","src":"4111:190:41","nodes":[],"statements":[{"assignments":[17352],"declarations":[{"constant":false,"id":17352,"mutability":"mutable","name":"_keyTuple","nameLocation":"4134:9:41","nodeType":"VariableDeclaration","scope":17381,"src":"4117:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17350,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4117:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17351,"nodeType":"ArrayTypeName","src":"4117:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":17358,"initialValue":{"arguments":[{"hexValue":"31","id":17356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4160:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17355,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4146:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":17353,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4150:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17354,"nodeType":"ArrayTypeName","src":"4150:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":17357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4146:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4117:45:41"},{"expression":{"id":17366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17359,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17352,"src":"4168:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":17361,"indexExpression":{"hexValue":"30","id":17360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4178:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4168:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":17364,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17342,"src":"4201:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":17362,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"4183:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":17363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4194:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"4183:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":17365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4183:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4168:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17367,"nodeType":"ExpressionStatement","src":"4168:41:41"},{"expression":{"arguments":[{"id":17371,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"4244:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":17372,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17352,"src":"4254:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":17373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4265:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"components":[{"id":17376,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17345,"src":"4288:5:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"id":17377,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4287:7:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}],"expression":{"id":17374,"name":"EncodeArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26427,"src":"4268:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EncodeArray_$26427_$","typeString":"type(library EncodeArray)"}},"id":17375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4280:6:41","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26114,"src":"4268:18:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes21_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes21[] memory) pure returns (bytes memory)"}},"id":17378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4268:27:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":17368,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"4216:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":17370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4228:15:41","memberName":"setDynamicField","nodeType":"MemberAccess","referencedDeclaration":13941,"src":"4216:27:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,bytes memory)"}},"id":17379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4216:80:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17380,"nodeType":"ExpressionStatement","src":"4216:80:41"}]},"documentation":{"id":17339,"nodeType":"StructuredDocumentation","src":"4004:33:41","text":" @notice Set hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"setHooks","nameLocation":"4049:8:41","parameters":{"id":17346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17342,"mutability":"mutable","name":"tableId","nameLocation":"4069:7:41","nodeType":"VariableDeclaration","scope":17382,"src":"4058:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":17341,"nodeType":"UserDefinedTypeName","pathNode":{"id":17340,"name":"ResourceId","nameLocations":["4058:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"4058:10:41"},"referencedDeclaration":9486,"src":"4058:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":17345,"mutability":"mutable","name":"hooks","nameLocation":"4095:5:41","nodeType":"VariableDeclaration","scope":17382,"src":"4078:22:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":17343,"name":"bytes21","nodeType":"ElementaryTypeName","src":"4078:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":17344,"nodeType":"ArrayTypeName","src":"4078:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"4057:44:41"},"returnParameters":{"id":17347,"nodeType":"ParameterList","parameters":[],"src":"4111:0:41"},"scope":18664,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":17426,"nodeType":"FunctionDefinition","src":"4341:260:41","nodes":[],"body":{"id":17425,"nodeType":"Block","src":"4413:188:41","nodes":[],"statements":[{"assignments":[17396],"declarations":[{"constant":false,"id":17396,"mutability":"mutable","name":"_keyTuple","nameLocation":"4436:9:41","nodeType":"VariableDeclaration","scope":17425,"src":"4419:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17394,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4419:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17395,"nodeType":"ArrayTypeName","src":"4419:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":17402,"initialValue":{"arguments":[{"hexValue":"31","id":17400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4462:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4448:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":17397,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4452:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17398,"nodeType":"ArrayTypeName","src":"4452:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":17401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4448:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4419:45:41"},{"expression":{"id":17410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17403,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17396,"src":"4470:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":17405,"indexExpression":{"hexValue":"30","id":17404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4480:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4470:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":17408,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17386,"src":"4503:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":17406,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"4485:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":17407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4496:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"4485:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":17409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4485:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4470:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17411,"nodeType":"ExpressionStatement","src":"4470:41:41"},{"expression":{"arguments":[{"id":17415,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"4544:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":17416,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17396,"src":"4554:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":17417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4565:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"components":[{"id":17420,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17389,"src":"4588:5:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"id":17421,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4587:7:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}],"expression":{"id":17418,"name":"EncodeArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26427,"src":"4568:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EncodeArray_$26427_$","typeString":"type(library EncodeArray)"}},"id":17419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4580:6:41","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26114,"src":"4568:18:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes21_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes21[] memory) pure returns (bytes memory)"}},"id":17422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4568:27:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":17412,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"4518:9:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":17414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4528:15:41","memberName":"setDynamicField","nodeType":"MemberAccess","referencedDeclaration":11947,"src":"4518:25:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,bytes memory)"}},"id":17423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4518:78:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17424,"nodeType":"ExpressionStatement","src":"4518:78:41"}]},"documentation":{"id":17383,"nodeType":"StructuredDocumentation","src":"4305:33:41","text":" @notice Set hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"_setHooks","nameLocation":"4350:9:41","parameters":{"id":17390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17386,"mutability":"mutable","name":"tableId","nameLocation":"4371:7:41","nodeType":"VariableDeclaration","scope":17426,"src":"4360:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":17385,"nodeType":"UserDefinedTypeName","pathNode":{"id":17384,"name":"ResourceId","nameLocations":["4360:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"4360:10:41"},"referencedDeclaration":9486,"src":"4360:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":17389,"mutability":"mutable","name":"hooks","nameLocation":"4397:5:41","nodeType":"VariableDeclaration","scope":17426,"src":"4380:22:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":17387,"name":"bytes21","nodeType":"ElementaryTypeName","src":"4380:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":17388,"nodeType":"ArrayTypeName","src":"4380:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"4359:44:41"},"returnParameters":{"id":17391,"nodeType":"ParameterList","parameters":[],"src":"4413:0:41"},"scope":18664,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":17470,"nodeType":"FunctionDefinition","src":"4641:256:41","nodes":[],"body":{"id":17469,"nodeType":"Block","src":"4707:190:41","nodes":[],"statements":[{"assignments":[17440],"declarations":[{"constant":false,"id":17440,"mutability":"mutable","name":"_keyTuple","nameLocation":"4730:9:41","nodeType":"VariableDeclaration","scope":17469,"src":"4713:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17438,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4713:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17439,"nodeType":"ArrayTypeName","src":"4713:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":17446,"initialValue":{"arguments":[{"hexValue":"31","id":17444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4756:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17443,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4742:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":17441,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4746:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17442,"nodeType":"ArrayTypeName","src":"4746:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":17445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4742:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4713:45:41"},{"expression":{"id":17454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17447,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17440,"src":"4764:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":17449,"indexExpression":{"hexValue":"30","id":17448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4774:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4764:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":17452,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17430,"src":"4797:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":17450,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"4779:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":17451,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4790:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"4779:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":17453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4779:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4764:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17455,"nodeType":"ExpressionStatement","src":"4764:41:41"},{"expression":{"arguments":[{"id":17459,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"4840:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":17460,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17440,"src":"4850:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":17461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4861:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"components":[{"id":17464,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17433,"src":"4884:5:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"id":17465,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4883:7:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}],"expression":{"id":17462,"name":"EncodeArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26427,"src":"4864:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EncodeArray_$26427_$","typeString":"type(library EncodeArray)"}},"id":17463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4876:6:41","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26114,"src":"4864:18:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes21_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes21[] memory) pure returns (bytes memory)"}},"id":17466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4864:27:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":17456,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"4812:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":17458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4824:15:41","memberName":"setDynamicField","nodeType":"MemberAccess","referencedDeclaration":13941,"src":"4812:27:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,bytes memory)"}},"id":17467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4812:80:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17468,"nodeType":"ExpressionStatement","src":"4812:80:41"}]},"documentation":{"id":17427,"nodeType":"StructuredDocumentation","src":"4605:33:41","text":" @notice Set hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"set","nameLocation":"4650:3:41","parameters":{"id":17434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17430,"mutability":"mutable","name":"tableId","nameLocation":"4665:7:41","nodeType":"VariableDeclaration","scope":17470,"src":"4654:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":17429,"nodeType":"UserDefinedTypeName","pathNode":{"id":17428,"name":"ResourceId","nameLocations":["4654:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"4654:10:41"},"referencedDeclaration":9486,"src":"4654:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":17433,"mutability":"mutable","name":"hooks","nameLocation":"4691:5:41","nodeType":"VariableDeclaration","scope":17470,"src":"4674:22:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":17431,"name":"bytes21","nodeType":"ElementaryTypeName","src":"4674:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":17432,"nodeType":"ArrayTypeName","src":"4674:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"4653:44:41"},"returnParameters":{"id":17435,"nodeType":"ParameterList","parameters":[],"src":"4707:0:41"},"scope":18664,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":17514,"nodeType":"FunctionDefinition","src":"4937:255:41","nodes":[],"body":{"id":17513,"nodeType":"Block","src":"5004:188:41","nodes":[],"statements":[{"assignments":[17484],"declarations":[{"constant":false,"id":17484,"mutability":"mutable","name":"_keyTuple","nameLocation":"5027:9:41","nodeType":"VariableDeclaration","scope":17513,"src":"5010:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17482,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5010:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17483,"nodeType":"ArrayTypeName","src":"5010:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":17490,"initialValue":{"arguments":[{"hexValue":"31","id":17488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5053:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5039:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":17485,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5043:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17486,"nodeType":"ArrayTypeName","src":"5043:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":17489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5039:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5010:45:41"},{"expression":{"id":17498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17491,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17484,"src":"5061:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":17493,"indexExpression":{"hexValue":"30","id":17492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5071:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5061:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":17496,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17474,"src":"5094:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":17494,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"5076:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":17495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5087:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"5076:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":17497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5076:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5061:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17499,"nodeType":"ExpressionStatement","src":"5061:41:41"},{"expression":{"arguments":[{"id":17503,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"5135:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":17504,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17484,"src":"5145:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":17505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5156:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"components":[{"id":17508,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17477,"src":"5179:5:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"id":17509,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5178:7:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}],"expression":{"id":17506,"name":"EncodeArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26427,"src":"5159:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EncodeArray_$26427_$","typeString":"type(library EncodeArray)"}},"id":17507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5171:6:41","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26114,"src":"5159:18:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes21_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes21[] memory) pure returns (bytes memory)"}},"id":17510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5159:27:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":17500,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"5109:9:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":17502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5119:15:41","memberName":"setDynamicField","nodeType":"MemberAccess","referencedDeclaration":11947,"src":"5109:25:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,bytes memory)"}},"id":17511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5109:78:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17512,"nodeType":"ExpressionStatement","src":"5109:78:41"}]},"documentation":{"id":17471,"nodeType":"StructuredDocumentation","src":"4901:33:41","text":" @notice Set hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"_set","nameLocation":"4946:4:41","parameters":{"id":17478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17474,"mutability":"mutable","name":"tableId","nameLocation":"4962:7:41","nodeType":"VariableDeclaration","scope":17514,"src":"4951:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":17473,"nodeType":"UserDefinedTypeName","pathNode":{"id":17472,"name":"ResourceId","nameLocations":["4951:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"4951:10:41"},"referencedDeclaration":9486,"src":"4951:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":17477,"mutability":"mutable","name":"hooks","nameLocation":"4988:5:41","nodeType":"VariableDeclaration","scope":17514,"src":"4971:22:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":17475,"name":"bytes21","nodeType":"ElementaryTypeName","src":"4971:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":17476,"nodeType":"ArrayTypeName","src":"4971:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"4950:44:41"},"returnParameters":{"id":17479,"nodeType":"ParameterList","parameters":[],"src":"5004:0:41"},"scope":18664,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":17558,"nodeType":"FunctionDefinition","src":"5246:315:41","nodes":[],"body":{"id":17557,"nodeType":"Block","src":"5319:242:41","nodes":[],"statements":[{"assignments":[17527],"declarations":[{"constant":false,"id":17527,"mutability":"mutable","name":"_keyTuple","nameLocation":"5342:9:41","nodeType":"VariableDeclaration","scope":17557,"src":"5325:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17525,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5325:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17526,"nodeType":"ArrayTypeName","src":"5325:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":17533,"initialValue":{"arguments":[{"hexValue":"31","id":17531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5368:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17530,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5354:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":17528,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5358:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17529,"nodeType":"ArrayTypeName","src":"5358:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":17532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5354:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5325:45:41"},{"expression":{"id":17541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17534,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17527,"src":"5376:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":17536,"indexExpression":{"hexValue":"30","id":17535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5386:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5376:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":17539,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17518,"src":"5409:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":17537,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"5391:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":17538,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5402:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"5391:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":17540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5391:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5376:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17542,"nodeType":"ExpressionStatement","src":"5376:41:41"},{"assignments":[17544],"declarations":[{"constant":false,"id":17544,"mutability":"mutable","name":"_byteLength","nameLocation":"5432:11:41","nodeType":"VariableDeclaration","scope":17557,"src":"5424:19:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17543,"name":"uint256","nodeType":"ElementaryTypeName","src":"5424:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":17551,"initialValue":{"arguments":[{"id":17547,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"5480:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":17548,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17527,"src":"5490:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":17549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5501:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":17545,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"5446:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":17546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5458:21:41","memberName":"getDynamicFieldLength","nodeType":"MemberAccess","referencedDeclaration":14504,"src":"5446:33:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory,uint8) view returns (uint256)"}},"id":17550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5446:57:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5424:79:41"},{"id":17556,"nodeType":"UncheckedBlock","src":"5509:48:41","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17552,"name":"_byteLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17544,"src":"5534:11:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3231","id":17553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5548:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"5534:16:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":17522,"id":17555,"nodeType":"Return","src":"5527:23:41"}]}]},"documentation":{"id":17515,"nodeType":"StructuredDocumentation","src":"5196:47:41","text":" @notice Get the length of hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"lengthHooks","nameLocation":"5255:11:41","parameters":{"id":17519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17518,"mutability":"mutable","name":"tableId","nameLocation":"5278:7:41","nodeType":"VariableDeclaration","scope":17558,"src":"5267:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":17517,"nodeType":"UserDefinedTypeName","pathNode":{"id":17516,"name":"ResourceId","nameLocations":["5267:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"5267:10:41"},"referencedDeclaration":9486,"src":"5267:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"5266:20:41"},"returnParameters":{"id":17522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17521,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17558,"src":"5310:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17520,"name":"uint256","nodeType":"ElementaryTypeName","src":"5310:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5309:9:41"},"scope":18664,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17602,"nodeType":"FunctionDefinition","src":"5615:314:41","nodes":[],"body":{"id":17601,"nodeType":"Block","src":"5689:240:41","nodes":[],"statements":[{"assignments":[17571],"declarations":[{"constant":false,"id":17571,"mutability":"mutable","name":"_keyTuple","nameLocation":"5712:9:41","nodeType":"VariableDeclaration","scope":17601,"src":"5695:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17569,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5695:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17570,"nodeType":"ArrayTypeName","src":"5695:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":17577,"initialValue":{"arguments":[{"hexValue":"31","id":17575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5738:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5724:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":17572,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5728:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17573,"nodeType":"ArrayTypeName","src":"5728:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":17576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5724:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5695:45:41"},{"expression":{"id":17585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17578,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17571,"src":"5746:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":17580,"indexExpression":{"hexValue":"30","id":17579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5756:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5746:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":17583,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17562,"src":"5779:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":17581,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"5761:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":17582,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5772:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"5761:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":17584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5761:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5746:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17586,"nodeType":"ExpressionStatement","src":"5746:41:41"},{"assignments":[17588],"declarations":[{"constant":false,"id":17588,"mutability":"mutable","name":"_byteLength","nameLocation":"5802:11:41","nodeType":"VariableDeclaration","scope":17601,"src":"5794:19:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17587,"name":"uint256","nodeType":"ElementaryTypeName","src":"5794:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":17595,"initialValue":{"arguments":[{"id":17591,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"5848:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":17592,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17571,"src":"5858:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":17593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5869:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":17589,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"5816:9:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":17590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5826:21:41","memberName":"getDynamicFieldLength","nodeType":"MemberAccess","referencedDeclaration":12611,"src":"5816:31:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory,uint8) view returns (uint256)"}},"id":17594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5816:55:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5794:77:41"},{"id":17600,"nodeType":"UncheckedBlock","src":"5877:48:41","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17596,"name":"_byteLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17588,"src":"5902:11:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3231","id":17597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5916:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"5902:16:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":17566,"id":17599,"nodeType":"Return","src":"5895:23:41"}]}]},"documentation":{"id":17559,"nodeType":"StructuredDocumentation","src":"5565:47:41","text":" @notice Get the length of hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"_lengthHooks","nameLocation":"5624:12:41","parameters":{"id":17563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17562,"mutability":"mutable","name":"tableId","nameLocation":"5648:7:41","nodeType":"VariableDeclaration","scope":17602,"src":"5637:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":17561,"nodeType":"UserDefinedTypeName","pathNode":{"id":17560,"name":"ResourceId","nameLocations":["5637:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"5637:10:41"},"referencedDeclaration":9486,"src":"5637:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"5636:20:41"},"returnParameters":{"id":17566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17565,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17602,"src":"5680:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17564,"name":"uint256","nodeType":"ElementaryTypeName","src":"5680:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5679:9:41"},"scope":18664,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17646,"nodeType":"FunctionDefinition","src":"5983:310:41","nodes":[],"body":{"id":17645,"nodeType":"Block","src":"6051:242:41","nodes":[],"statements":[{"assignments":[17615],"declarations":[{"constant":false,"id":17615,"mutability":"mutable","name":"_keyTuple","nameLocation":"6074:9:41","nodeType":"VariableDeclaration","scope":17645,"src":"6057:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17613,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6057:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17614,"nodeType":"ArrayTypeName","src":"6057:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":17621,"initialValue":{"arguments":[{"hexValue":"31","id":17619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6100:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17618,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6086:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":17616,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6090:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17617,"nodeType":"ArrayTypeName","src":"6090:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":17620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6086:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6057:45:41"},{"expression":{"id":17629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17622,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17615,"src":"6108:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":17624,"indexExpression":{"hexValue":"30","id":17623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6118:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6108:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":17627,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17606,"src":"6141:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":17625,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"6123:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":17626,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6134:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"6123:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":17628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6123:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6108:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17630,"nodeType":"ExpressionStatement","src":"6108:41:41"},{"assignments":[17632],"declarations":[{"constant":false,"id":17632,"mutability":"mutable","name":"_byteLength","nameLocation":"6164:11:41","nodeType":"VariableDeclaration","scope":17645,"src":"6156:19:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17631,"name":"uint256","nodeType":"ElementaryTypeName","src":"6156:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":17639,"initialValue":{"arguments":[{"id":17635,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"6212:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":17636,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17615,"src":"6222:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":17637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6233:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":17633,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"6178:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":17634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6190:21:41","memberName":"getDynamicFieldLength","nodeType":"MemberAccess","referencedDeclaration":14504,"src":"6178:33:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory,uint8) view returns (uint256)"}},"id":17638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6178:57:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6156:79:41"},{"id":17644,"nodeType":"UncheckedBlock","src":"6241:48:41","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17640,"name":"_byteLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17632,"src":"6266:11:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3231","id":17641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6280:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"6266:16:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":17610,"id":17643,"nodeType":"Return","src":"6259:23:41"}]}]},"documentation":{"id":17603,"nodeType":"StructuredDocumentation","src":"5933:47:41","text":" @notice Get the length of hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"5992:6:41","parameters":{"id":17607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17606,"mutability":"mutable","name":"tableId","nameLocation":"6010:7:41","nodeType":"VariableDeclaration","scope":17646,"src":"5999:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":17605,"nodeType":"UserDefinedTypeName","pathNode":{"id":17604,"name":"ResourceId","nameLocations":["5999:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"5999:10:41"},"referencedDeclaration":9486,"src":"5999:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"5998:20:41"},"returnParameters":{"id":17610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17609,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17646,"src":"6042:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17608,"name":"uint256","nodeType":"ElementaryTypeName","src":"6042:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6041:9:41"},"scope":18664,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17690,"nodeType":"FunctionDefinition","src":"6347:309:41","nodes":[],"body":{"id":17689,"nodeType":"Block","src":"6416:240:41","nodes":[],"statements":[{"assignments":[17659],"declarations":[{"constant":false,"id":17659,"mutability":"mutable","name":"_keyTuple","nameLocation":"6439:9:41","nodeType":"VariableDeclaration","scope":17689,"src":"6422:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17657,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6422:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17658,"nodeType":"ArrayTypeName","src":"6422:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":17665,"initialValue":{"arguments":[{"hexValue":"31","id":17663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6465:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6451:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":17660,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6455:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17661,"nodeType":"ArrayTypeName","src":"6455:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":17664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6451:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6422:45:41"},{"expression":{"id":17673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17666,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17659,"src":"6473:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":17668,"indexExpression":{"hexValue":"30","id":17667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6483:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6473:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":17671,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17650,"src":"6506:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":17669,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"6488:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":17670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6499:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"6488:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":17672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6488:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6473:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17674,"nodeType":"ExpressionStatement","src":"6473:41:41"},{"assignments":[17676],"declarations":[{"constant":false,"id":17676,"mutability":"mutable","name":"_byteLength","nameLocation":"6529:11:41","nodeType":"VariableDeclaration","scope":17689,"src":"6521:19:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17675,"name":"uint256","nodeType":"ElementaryTypeName","src":"6521:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":17683,"initialValue":{"arguments":[{"id":17679,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"6575:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":17680,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17659,"src":"6585:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":17681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6596:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":17677,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"6543:9:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":17678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6553:21:41","memberName":"getDynamicFieldLength","nodeType":"MemberAccess","referencedDeclaration":12611,"src":"6543:31:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory,uint8) view returns (uint256)"}},"id":17682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6543:55:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6521:77:41"},{"id":17688,"nodeType":"UncheckedBlock","src":"6604:48:41","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17684,"name":"_byteLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17676,"src":"6629:11:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3231","id":17685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6643:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"6629:16:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":17654,"id":17687,"nodeType":"Return","src":"6622:23:41"}]}]},"documentation":{"id":17647,"nodeType":"StructuredDocumentation","src":"6297:47:41","text":" @notice Get the length of hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"_length","nameLocation":"6356:7:41","parameters":{"id":17651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17650,"mutability":"mutable","name":"tableId","nameLocation":"6375:7:41","nodeType":"VariableDeclaration","scope":17690,"src":"6364:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":17649,"nodeType":"UserDefinedTypeName","pathNode":{"id":17648,"name":"ResourceId","nameLocations":["6364:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"6364:10:41"},"referencedDeclaration":9486,"src":"6364:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"6363:20:41"},"returnParameters":{"id":17654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17653,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17690,"src":"6407:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17652,"name":"uint256","nodeType":"ElementaryTypeName","src":"6407:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6406:9:41"},"scope":18664,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17747,"nodeType":"FunctionDefinition","src":"6797:364:41","nodes":[],"body":{"id":17746,"nodeType":"Block","src":"6887:274:41","nodes":[],"statements":[{"assignments":[17705],"declarations":[{"constant":false,"id":17705,"mutability":"mutable","name":"_keyTuple","nameLocation":"6910:9:41","nodeType":"VariableDeclaration","scope":17746,"src":"6893:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17703,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6893:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17704,"nodeType":"ArrayTypeName","src":"6893:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":17711,"initialValue":{"arguments":[{"hexValue":"31","id":17709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6936:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17708,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6922:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":17706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6926:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17707,"nodeType":"ArrayTypeName","src":"6926:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":17710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6922:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6893:45:41"},{"expression":{"id":17719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17712,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17705,"src":"6944:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":17714,"indexExpression":{"hexValue":"30","id":17713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6954:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6944:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":17717,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17694,"src":"6977:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":17715,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"6959:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":17716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6970:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"6959:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":17718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6959:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6944:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17720,"nodeType":"ExpressionStatement","src":"6944:41:41"},{"id":17745,"nodeType":"UncheckedBlock","src":"6992:165:41","statements":[{"assignments":[17722],"declarations":[{"constant":false,"id":17722,"mutability":"mutable","name":"_blob","nameLocation":"7023:5:41","nodeType":"VariableDeclaration","scope":17745,"src":"7010:18:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17721,"name":"bytes","nodeType":"ElementaryTypeName","src":"7010:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":17738,"initialValue":{"arguments":[{"id":17725,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"7064:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":17726,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17705,"src":"7074:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":17727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7085:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17728,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17696,"src":"7088:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":17729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7097:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"7088:11:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17731,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17696,"src":"7102:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":17732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7111:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7102:10:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":17734,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7101:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":17735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7116:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"7101:17:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17723,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"7031:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":17724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7043:20:41","memberName":"getDynamicFieldSlice","nodeType":"MemberAccess","referencedDeclaration":14557,"src":"7031:32:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes32[] memory,uint8,uint256,uint256) view returns (bytes memory)"}},"id":17737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7031:88:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7010:109:41"},{"expression":{"components":[{"arguments":[{"id":17741,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17722,"src":"7143:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7135:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes21_$","typeString":"type(bytes21)"},"typeName":{"id":17739,"name":"bytes21","nodeType":"ElementaryTypeName","src":"7135:7:41","typeDescriptions":{}}},"id":17742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7135:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":17743,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7134:16:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"functionReturnParameters":17700,"id":17744,"nodeType":"Return","src":"7127:23:41"}]}]},"documentation":{"id":17691,"nodeType":"StructuredDocumentation","src":"6660:134:41","text":" @notice Get an item of hooks.\n @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array."},"implemented":true,"kind":"function","modifiers":[],"name":"getItemHooks","nameLocation":"6806:12:41","parameters":{"id":17697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17694,"mutability":"mutable","name":"tableId","nameLocation":"6830:7:41","nodeType":"VariableDeclaration","scope":17747,"src":"6819:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":17693,"nodeType":"UserDefinedTypeName","pathNode":{"id":17692,"name":"ResourceId","nameLocations":["6819:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"6819:10:41"},"referencedDeclaration":9486,"src":"6819:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":17696,"mutability":"mutable","name":"_index","nameLocation":"6847:6:41","nodeType":"VariableDeclaration","scope":17747,"src":"6839:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17695,"name":"uint256","nodeType":"ElementaryTypeName","src":"6839:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6818:36:41"},"returnParameters":{"id":17700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17699,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17747,"src":"6878:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":17698,"name":"bytes21","nodeType":"ElementaryTypeName","src":"6878:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"6877:9:41"},"scope":18664,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17804,"nodeType":"FunctionDefinition","src":"7302:363:41","nodes":[],"body":{"id":17803,"nodeType":"Block","src":"7393:272:41","nodes":[],"statements":[{"assignments":[17762],"declarations":[{"constant":false,"id":17762,"mutability":"mutable","name":"_keyTuple","nameLocation":"7416:9:41","nodeType":"VariableDeclaration","scope":17803,"src":"7399:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17760,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7399:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17761,"nodeType":"ArrayTypeName","src":"7399:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":17768,"initialValue":{"arguments":[{"hexValue":"31","id":17766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7442:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17765,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7428:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":17763,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7432:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17764,"nodeType":"ArrayTypeName","src":"7432:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":17767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7428:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7399:45:41"},{"expression":{"id":17776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17769,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17762,"src":"7450:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":17771,"indexExpression":{"hexValue":"30","id":17770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7460:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7450:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":17774,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17751,"src":"7483:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":17772,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"7465:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":17773,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7476:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"7465:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":17775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7465:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7450:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17777,"nodeType":"ExpressionStatement","src":"7450:41:41"},{"id":17802,"nodeType":"UncheckedBlock","src":"7498:163:41","statements":[{"assignments":[17779],"declarations":[{"constant":false,"id":17779,"mutability":"mutable","name":"_blob","nameLocation":"7529:5:41","nodeType":"VariableDeclaration","scope":17802,"src":"7516:18:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17778,"name":"bytes","nodeType":"ElementaryTypeName","src":"7516:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":17795,"initialValue":{"arguments":[{"id":17782,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"7568:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":17783,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17762,"src":"7578:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":17784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7589:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17785,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17753,"src":"7592:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":17786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7601:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"7592:11:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17788,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17753,"src":"7606:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":17789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7615:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7606:10:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":17791,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7605:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":17792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7620:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"7605:17:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17780,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"7537:9:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":17781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7547:20:41","memberName":"getDynamicFieldSlice","nodeType":"MemberAccess","referencedDeclaration":12700,"src":"7537:30:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes32[] memory,uint8,uint256,uint256) view returns (bytes memory)"}},"id":17794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7537:86:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7516:107:41"},{"expression":{"components":[{"arguments":[{"id":17798,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17779,"src":"7647:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7639:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes21_$","typeString":"type(bytes21)"},"typeName":{"id":17796,"name":"bytes21","nodeType":"ElementaryTypeName","src":"7639:7:41","typeDescriptions":{}}},"id":17799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7639:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":17800,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7638:16:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"functionReturnParameters":17757,"id":17801,"nodeType":"Return","src":"7631:23:41"}]}]},"documentation":{"id":17748,"nodeType":"StructuredDocumentation","src":"7165:134:41","text":" @notice Get an item of hooks.\n @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array."},"implemented":true,"kind":"function","modifiers":[],"name":"_getItemHooks","nameLocation":"7311:13:41","parameters":{"id":17754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17751,"mutability":"mutable","name":"tableId","nameLocation":"7336:7:41","nodeType":"VariableDeclaration","scope":17804,"src":"7325:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":17750,"nodeType":"UserDefinedTypeName","pathNode":{"id":17749,"name":"ResourceId","nameLocations":["7325:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"7325:10:41"},"referencedDeclaration":9486,"src":"7325:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":17753,"mutability":"mutable","name":"_index","nameLocation":"7353:6:41","nodeType":"VariableDeclaration","scope":17804,"src":"7345:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17752,"name":"uint256","nodeType":"ElementaryTypeName","src":"7345:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7324:36:41"},"returnParameters":{"id":17757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17756,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17804,"src":"7384:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":17755,"name":"bytes21","nodeType":"ElementaryTypeName","src":"7384:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"7383:9:41"},"scope":18664,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17861,"nodeType":"FunctionDefinition","src":"7806:359:41","nodes":[],"body":{"id":17860,"nodeType":"Block","src":"7891:274:41","nodes":[],"statements":[{"assignments":[17819],"declarations":[{"constant":false,"id":17819,"mutability":"mutable","name":"_keyTuple","nameLocation":"7914:9:41","nodeType":"VariableDeclaration","scope":17860,"src":"7897:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17817,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7897:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17818,"nodeType":"ArrayTypeName","src":"7897:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":17825,"initialValue":{"arguments":[{"hexValue":"31","id":17823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7940:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7926:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":17820,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7930:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17821,"nodeType":"ArrayTypeName","src":"7930:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":17824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7926:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7897:45:41"},{"expression":{"id":17833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17826,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17819,"src":"7948:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":17828,"indexExpression":{"hexValue":"30","id":17827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7958:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7948:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":17831,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17808,"src":"7981:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":17829,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"7963:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":17830,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7974:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"7963:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":17832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7963:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7948:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17834,"nodeType":"ExpressionStatement","src":"7948:41:41"},{"id":17859,"nodeType":"UncheckedBlock","src":"7996:165:41","statements":[{"assignments":[17836],"declarations":[{"constant":false,"id":17836,"mutability":"mutable","name":"_blob","nameLocation":"8027:5:41","nodeType":"VariableDeclaration","scope":17859,"src":"8014:18:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17835,"name":"bytes","nodeType":"ElementaryTypeName","src":"8014:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":17852,"initialValue":{"arguments":[{"id":17839,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"8068:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":17840,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17819,"src":"8078:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":17841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8089:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17842,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17810,"src":"8092:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":17843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8101:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"8092:11:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17845,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17810,"src":"8106:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":17846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8115:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8106:10:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":17848,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8105:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":17849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8120:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"8105:17:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17837,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"8035:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":17838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8047:20:41","memberName":"getDynamicFieldSlice","nodeType":"MemberAccess","referencedDeclaration":14557,"src":"8035:32:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes32[] memory,uint8,uint256,uint256) view returns (bytes memory)"}},"id":17851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8035:88:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8014:109:41"},{"expression":{"components":[{"arguments":[{"id":17855,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17836,"src":"8147:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8139:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes21_$","typeString":"type(bytes21)"},"typeName":{"id":17853,"name":"bytes21","nodeType":"ElementaryTypeName","src":"8139:7:41","typeDescriptions":{}}},"id":17856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8139:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":17857,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8138:16:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"functionReturnParameters":17814,"id":17858,"nodeType":"Return","src":"8131:23:41"}]}]},"documentation":{"id":17805,"nodeType":"StructuredDocumentation","src":"7669:134:41","text":" @notice Get an item of hooks.\n @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array."},"implemented":true,"kind":"function","modifiers":[],"name":"getItem","nameLocation":"7815:7:41","parameters":{"id":17811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17808,"mutability":"mutable","name":"tableId","nameLocation":"7834:7:41","nodeType":"VariableDeclaration","scope":17861,"src":"7823:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":17807,"nodeType":"UserDefinedTypeName","pathNode":{"id":17806,"name":"ResourceId","nameLocations":["7823:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"7823:10:41"},"referencedDeclaration":9486,"src":"7823:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":17810,"mutability":"mutable","name":"_index","nameLocation":"7851:6:41","nodeType":"VariableDeclaration","scope":17861,"src":"7843:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17809,"name":"uint256","nodeType":"ElementaryTypeName","src":"7843:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7822:36:41"},"returnParameters":{"id":17814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17813,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17861,"src":"7882:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":17812,"name":"bytes21","nodeType":"ElementaryTypeName","src":"7882:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"7881:9:41"},"scope":18664,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17918,"nodeType":"FunctionDefinition","src":"8306:358:41","nodes":[],"body":{"id":17917,"nodeType":"Block","src":"8392:272:41","nodes":[],"statements":[{"assignments":[17876],"declarations":[{"constant":false,"id":17876,"mutability":"mutable","name":"_keyTuple","nameLocation":"8415:9:41","nodeType":"VariableDeclaration","scope":17917,"src":"8398:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17874,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8398:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17875,"nodeType":"ArrayTypeName","src":"8398:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":17882,"initialValue":{"arguments":[{"hexValue":"31","id":17880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8441:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8427:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":17877,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8431:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17878,"nodeType":"ArrayTypeName","src":"8431:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":17881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8427:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"8398:45:41"},{"expression":{"id":17890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17883,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17876,"src":"8449:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":17885,"indexExpression":{"hexValue":"30","id":17884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8459:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8449:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":17888,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17865,"src":"8482:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":17886,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"8464:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":17887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8475:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"8464:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":17889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8464:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"8449:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17891,"nodeType":"ExpressionStatement","src":"8449:41:41"},{"id":17916,"nodeType":"UncheckedBlock","src":"8497:163:41","statements":[{"assignments":[17893],"declarations":[{"constant":false,"id":17893,"mutability":"mutable","name":"_blob","nameLocation":"8528:5:41","nodeType":"VariableDeclaration","scope":17916,"src":"8515:18:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17892,"name":"bytes","nodeType":"ElementaryTypeName","src":"8515:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":17909,"initialValue":{"arguments":[{"id":17896,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"8567:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":17897,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17876,"src":"8577:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":17898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8588:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17899,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17867,"src":"8591:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":17900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8600:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"8591:11:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":17904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":17902,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17867,"src":"8605:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":17903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8614:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8605:10:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":17905,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8604:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":17906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8619:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"8604:17:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17894,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"8536:9:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":17895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8546:20:41","memberName":"getDynamicFieldSlice","nodeType":"MemberAccess","referencedDeclaration":12700,"src":"8536:30:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes32[] memory,uint8,uint256,uint256) view returns (bytes memory)"}},"id":17908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8536:86:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8515:107:41"},{"expression":{"components":[{"arguments":[{"id":17912,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17893,"src":"8646:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17911,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8638:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes21_$","typeString":"type(bytes21)"},"typeName":{"id":17910,"name":"bytes21","nodeType":"ElementaryTypeName","src":"8638:7:41","typeDescriptions":{}}},"id":17913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8638:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":17914,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8637:16:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"functionReturnParameters":17871,"id":17915,"nodeType":"Return","src":"8630:23:41"}]}]},"documentation":{"id":17862,"nodeType":"StructuredDocumentation","src":"8169:134:41","text":" @notice Get an item of hooks.\n @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array."},"implemented":true,"kind":"function","modifiers":[],"name":"_getItem","nameLocation":"8315:8:41","parameters":{"id":17868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17865,"mutability":"mutable","name":"tableId","nameLocation":"8335:7:41","nodeType":"VariableDeclaration","scope":17918,"src":"8324:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":17864,"nodeType":"UserDefinedTypeName","pathNode":{"id":17863,"name":"ResourceId","nameLocations":["8324:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"8324:10:41"},"referencedDeclaration":9486,"src":"8324:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":17867,"mutability":"mutable","name":"_index","nameLocation":"8352:6:41","nodeType":"VariableDeclaration","scope":17918,"src":"8344:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17866,"name":"uint256","nodeType":"ElementaryTypeName","src":"8344:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8323:36:41"},"returnParameters":{"id":17871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17870,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17918,"src":"8383:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":17869,"name":"bytes21","nodeType":"ElementaryTypeName","src":"8383:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"8382:9:41"},"scope":18664,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17961,"nodeType":"FunctionDefinition","src":"8719:260:41","nodes":[],"body":{"id":17960,"nodeType":"Block","src":"8785:194:41","nodes":[],"statements":[{"assignments":[17931],"declarations":[{"constant":false,"id":17931,"mutability":"mutable","name":"_keyTuple","nameLocation":"8808:9:41","nodeType":"VariableDeclaration","scope":17960,"src":"8791:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17929,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8791:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17930,"nodeType":"ArrayTypeName","src":"8791:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":17937,"initialValue":{"arguments":[{"hexValue":"31","id":17935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8834:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17934,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8820:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":17932,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8824:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17933,"nodeType":"ArrayTypeName","src":"8824:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":17936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8820:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"8791:45:41"},{"expression":{"id":17945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17938,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17931,"src":"8842:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":17940,"indexExpression":{"hexValue":"30","id":17939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8852:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8842:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":17943,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17922,"src":"8875:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":17941,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"8857:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":17942,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8868:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"8857:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":17944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8857:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"8842:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17946,"nodeType":"ExpressionStatement","src":"8842:41:41"},{"expression":{"arguments":[{"id":17950,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"8921:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":17951,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17931,"src":"8931:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":17952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8942:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"components":[{"id":17955,"name":"_element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17924,"src":"8963:8:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":17956,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8962:10:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":17953,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8945:3:41","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17954,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8949:12:41","memberName":"encodePacked","nodeType":"MemberAccess","src":"8945:16:41","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":17957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8945:28:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":17947,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"8890:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":17949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8902:18:41","memberName":"pushToDynamicField","nodeType":"MemberAccess","referencedDeclaration":13989,"src":"8890:30:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,bytes memory)"}},"id":17958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8890:84:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17959,"nodeType":"ExpressionStatement","src":"8890:84:41"}]},"documentation":{"id":17919,"nodeType":"StructuredDocumentation","src":"8668:48:41","text":" @notice Push an element to hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"pushHooks","nameLocation":"8728:9:41","parameters":{"id":17925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17922,"mutability":"mutable","name":"tableId","nameLocation":"8749:7:41","nodeType":"VariableDeclaration","scope":17961,"src":"8738:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":17921,"nodeType":"UserDefinedTypeName","pathNode":{"id":17920,"name":"ResourceId","nameLocations":["8738:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"8738:10:41"},"referencedDeclaration":9486,"src":"8738:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":17924,"mutability":"mutable","name":"_element","nameLocation":"8766:8:41","nodeType":"VariableDeclaration","scope":17961,"src":"8758:16:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":17923,"name":"bytes21","nodeType":"ElementaryTypeName","src":"8758:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"8737:38:41"},"returnParameters":{"id":17926,"nodeType":"ParameterList","parameters":[],"src":"8785:0:41"},"scope":18664,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":18004,"nodeType":"FunctionDefinition","src":"9034:259:41","nodes":[],"body":{"id":18003,"nodeType":"Block","src":"9101:192:41","nodes":[],"statements":[{"assignments":[17974],"declarations":[{"constant":false,"id":17974,"mutability":"mutable","name":"_keyTuple","nameLocation":"9124:9:41","nodeType":"VariableDeclaration","scope":18003,"src":"9107:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17972,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9107:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17973,"nodeType":"ArrayTypeName","src":"9107:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":17980,"initialValue":{"arguments":[{"hexValue":"31","id":17978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9150:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":17977,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9136:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":17975,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9140:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17976,"nodeType":"ArrayTypeName","src":"9140:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":17979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9136:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9107:45:41"},{"expression":{"id":17988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":17981,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17974,"src":"9158:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":17983,"indexExpression":{"hexValue":"30","id":17982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9168:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9158:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":17986,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17965,"src":"9191:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":17984,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"9173:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":17985,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9184:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"9173:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":17987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9173:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9158:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17989,"nodeType":"ExpressionStatement","src":"9158:41:41"},{"expression":{"arguments":[{"id":17993,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"9235:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":17994,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17974,"src":"9245:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":17995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9256:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"components":[{"id":17998,"name":"_element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17967,"src":"9277:8:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":17999,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9276:10:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":17996,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9259:3:41","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9263:12:41","memberName":"encodePacked","nodeType":"MemberAccess","src":"9259:16:41","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":18000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9259:28:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":17990,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"9206:9:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":17992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9216:18:41","memberName":"pushToDynamicField","nodeType":"MemberAccess","referencedDeclaration":12182,"src":"9206:28:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,bytes memory)"}},"id":18001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9206:82:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18002,"nodeType":"ExpressionStatement","src":"9206:82:41"}]},"documentation":{"id":17962,"nodeType":"StructuredDocumentation","src":"8983:48:41","text":" @notice Push an element to hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"_pushHooks","nameLocation":"9043:10:41","parameters":{"id":17968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17965,"mutability":"mutable","name":"tableId","nameLocation":"9065:7:41","nodeType":"VariableDeclaration","scope":18004,"src":"9054:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":17964,"nodeType":"UserDefinedTypeName","pathNode":{"id":17963,"name":"ResourceId","nameLocations":["9054:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"9054:10:41"},"referencedDeclaration":9486,"src":"9054:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":17967,"mutability":"mutable","name":"_element","nameLocation":"9082:8:41","nodeType":"VariableDeclaration","scope":18004,"src":"9074:16:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":17966,"name":"bytes21","nodeType":"ElementaryTypeName","src":"9074:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"9053:38:41"},"returnParameters":{"id":17969,"nodeType":"ParameterList","parameters":[],"src":"9101:0:41"},"scope":18664,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":18047,"nodeType":"FunctionDefinition","src":"9348:255:41","nodes":[],"body":{"id":18046,"nodeType":"Block","src":"9409:194:41","nodes":[],"statements":[{"assignments":[18017],"declarations":[{"constant":false,"id":18017,"mutability":"mutable","name":"_keyTuple","nameLocation":"9432:9:41","nodeType":"VariableDeclaration","scope":18046,"src":"9415:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":18015,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9415:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18016,"nodeType":"ArrayTypeName","src":"9415:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":18023,"initialValue":{"arguments":[{"hexValue":"31","id":18021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9458:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":18020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9444:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":18018,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9448:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18019,"nodeType":"ArrayTypeName","src":"9448:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":18022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9444:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9415:45:41"},{"expression":{"id":18031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18024,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18017,"src":"9466:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":18026,"indexExpression":{"hexValue":"30","id":18025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9476:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9466:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":18029,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18008,"src":"9499:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":18027,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"9481:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":18028,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9492:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"9481:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":18030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9481:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9466:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18032,"nodeType":"ExpressionStatement","src":"9466:41:41"},{"expression":{"arguments":[{"id":18036,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"9545:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":18037,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18017,"src":"9555:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":18038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9566:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"components":[{"id":18041,"name":"_element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18010,"src":"9587:8:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":18042,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9586:10:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":18039,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9569:3:41","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18040,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9573:12:41","memberName":"encodePacked","nodeType":"MemberAccess","src":"9569:16:41","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":18043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9569:28:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":18033,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"9514:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":18035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9526:18:41","memberName":"pushToDynamicField","nodeType":"MemberAccess","referencedDeclaration":13989,"src":"9514:30:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,bytes memory)"}},"id":18044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9514:84:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18045,"nodeType":"ExpressionStatement","src":"9514:84:41"}]},"documentation":{"id":18005,"nodeType":"StructuredDocumentation","src":"9297:48:41","text":" @notice Push an element to hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"push","nameLocation":"9357:4:41","parameters":{"id":18011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18008,"mutability":"mutable","name":"tableId","nameLocation":"9373:7:41","nodeType":"VariableDeclaration","scope":18047,"src":"9362:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":18007,"nodeType":"UserDefinedTypeName","pathNode":{"id":18006,"name":"ResourceId","nameLocations":["9362:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"9362:10:41"},"referencedDeclaration":9486,"src":"9362:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":18010,"mutability":"mutable","name":"_element","nameLocation":"9390:8:41","nodeType":"VariableDeclaration","scope":18047,"src":"9382:16:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":18009,"name":"bytes21","nodeType":"ElementaryTypeName","src":"9382:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"9361:38:41"},"returnParameters":{"id":18012,"nodeType":"ParameterList","parameters":[],"src":"9409:0:41"},"scope":18664,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":18090,"nodeType":"FunctionDefinition","src":"9658:254:41","nodes":[],"body":{"id":18089,"nodeType":"Block","src":"9720:192:41","nodes":[],"statements":[{"assignments":[18060],"declarations":[{"constant":false,"id":18060,"mutability":"mutable","name":"_keyTuple","nameLocation":"9743:9:41","nodeType":"VariableDeclaration","scope":18089,"src":"9726:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":18058,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9726:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18059,"nodeType":"ArrayTypeName","src":"9726:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":18066,"initialValue":{"arguments":[{"hexValue":"31","id":18064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9769:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":18063,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9755:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":18061,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9759:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18062,"nodeType":"ArrayTypeName","src":"9759:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":18065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9755:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9726:45:41"},{"expression":{"id":18074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18067,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18060,"src":"9777:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":18069,"indexExpression":{"hexValue":"30","id":18068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9787:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9777:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":18072,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18051,"src":"9810:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":18070,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"9792:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":18071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9803:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"9792:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":18073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9792:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9777:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18075,"nodeType":"ExpressionStatement","src":"9777:41:41"},{"expression":{"arguments":[{"id":18079,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"9854:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":18080,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18060,"src":"9864:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":18081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9875:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"components":[{"id":18084,"name":"_element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18053,"src":"9896:8:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":18085,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9895:10:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":18082,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9878:3:41","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9882:12:41","memberName":"encodePacked","nodeType":"MemberAccess","src":"9878:16:41","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":18086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9878:28:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":18076,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"9825:9:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":18078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9835:18:41","memberName":"pushToDynamicField","nodeType":"MemberAccess","referencedDeclaration":12182,"src":"9825:28:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,bytes memory)"}},"id":18087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9825:82:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18088,"nodeType":"ExpressionStatement","src":"9825:82:41"}]},"documentation":{"id":18048,"nodeType":"StructuredDocumentation","src":"9607:48:41","text":" @notice Push an element to hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"_push","nameLocation":"9667:5:41","parameters":{"id":18054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18051,"mutability":"mutable","name":"tableId","nameLocation":"9684:7:41","nodeType":"VariableDeclaration","scope":18090,"src":"9673:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":18050,"nodeType":"UserDefinedTypeName","pathNode":{"id":18049,"name":"ResourceId","nameLocations":["9673:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"9673:10:41"},"referencedDeclaration":9486,"src":"9673:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":18053,"mutability":"mutable","name":"_element","nameLocation":"9701:8:41","nodeType":"VariableDeclaration","scope":18090,"src":"9693:16:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":18052,"name":"bytes21","nodeType":"ElementaryTypeName","src":"9693:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"9672:38:41"},"returnParameters":{"id":18055,"nodeType":"ParameterList","parameters":[],"src":"9720:0:41"},"scope":18664,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":18127,"nodeType":"FunctionDefinition","src":"9968:216:41","nodes":[],"body":{"id":18126,"nodeType":"Block","src":"10015:169:41","nodes":[],"statements":[{"assignments":[18101],"declarations":[{"constant":false,"id":18101,"mutability":"mutable","name":"_keyTuple","nameLocation":"10038:9:41","nodeType":"VariableDeclaration","scope":18126,"src":"10021:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":18099,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10021:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18100,"nodeType":"ArrayTypeName","src":"10021:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":18107,"initialValue":{"arguments":[{"hexValue":"31","id":18105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10064:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":18104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10050:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":18102,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10054:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18103,"nodeType":"ArrayTypeName","src":"10054:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":18106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10050:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10021:45:41"},{"expression":{"id":18115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18108,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18101,"src":"10072:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":18110,"indexExpression":{"hexValue":"30","id":18109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10082:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10072:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":18113,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18094,"src":"10105:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":18111,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"10087:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":18112,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10098:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"10087:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":18114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10087:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10072:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18116,"nodeType":"ExpressionStatement","src":"10072:41:41"},{"expression":{"arguments":[{"id":18120,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"10152:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":18121,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18101,"src":"10162:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":18122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10173:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"3231","id":18123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10176:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"}],"expression":{"id":18117,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"10120:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":18119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10132:19:41","memberName":"popFromDynamicField","nodeType":"MemberAccess","referencedDeclaration":14037,"src":"10120:31:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,uint256)"}},"id":18124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10120:59:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18125,"nodeType":"ExpressionStatement","src":"10120:59:41"}]},"documentation":{"id":18091,"nodeType":"StructuredDocumentation","src":"9916:49:41","text":" @notice Pop an element from hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"popHooks","nameLocation":"9977:8:41","parameters":{"id":18095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18094,"mutability":"mutable","name":"tableId","nameLocation":"9997:7:41","nodeType":"VariableDeclaration","scope":18127,"src":"9986:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":18093,"nodeType":"UserDefinedTypeName","pathNode":{"id":18092,"name":"ResourceId","nameLocations":["9986:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"9986:10:41"},"referencedDeclaration":9486,"src":"9986:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"9985:20:41"},"returnParameters":{"id":18096,"nodeType":"ParameterList","parameters":[],"src":"10015:0:41"},"scope":18664,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":18164,"nodeType":"FunctionDefinition","src":"10240:215:41","nodes":[],"body":{"id":18163,"nodeType":"Block","src":"10288:167:41","nodes":[],"statements":[{"assignments":[18138],"declarations":[{"constant":false,"id":18138,"mutability":"mutable","name":"_keyTuple","nameLocation":"10311:9:41","nodeType":"VariableDeclaration","scope":18163,"src":"10294:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":18136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10294:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18137,"nodeType":"ArrayTypeName","src":"10294:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":18144,"initialValue":{"arguments":[{"hexValue":"31","id":18142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10337:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":18141,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10323:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":18139,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10327:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18140,"nodeType":"ArrayTypeName","src":"10327:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":18143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10323:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10294:45:41"},{"expression":{"id":18152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18145,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18138,"src":"10345:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":18147,"indexExpression":{"hexValue":"30","id":18146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10355:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10345:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":18150,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18131,"src":"10378:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":18148,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"10360:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":18149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10371:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"10360:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":18151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10360:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10345:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18153,"nodeType":"ExpressionStatement","src":"10345:41:41"},{"expression":{"arguments":[{"id":18157,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"10423:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":18158,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18138,"src":"10433:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":18159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10444:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"3231","id":18160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10447:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"}],"expression":{"id":18154,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"10393:9:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":18156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10403:19:41","memberName":"popFromDynamicField","nodeType":"MemberAccess","referencedDeclaration":12239,"src":"10393:29:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,uint256)"}},"id":18161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10393:57:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18162,"nodeType":"ExpressionStatement","src":"10393:57:41"}]},"documentation":{"id":18128,"nodeType":"StructuredDocumentation","src":"10188:49:41","text":" @notice Pop an element from hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"_popHooks","nameLocation":"10249:9:41","parameters":{"id":18132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18131,"mutability":"mutable","name":"tableId","nameLocation":"10270:7:41","nodeType":"VariableDeclaration","scope":18164,"src":"10259:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":18130,"nodeType":"UserDefinedTypeName","pathNode":{"id":18129,"name":"ResourceId","nameLocations":["10259:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"10259:10:41"},"referencedDeclaration":9486,"src":"10259:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"10258:20:41"},"returnParameters":{"id":18133,"nodeType":"ParameterList","parameters":[],"src":"10288:0:41"},"scope":18664,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":18201,"nodeType":"FunctionDefinition","src":"10511:211:41","nodes":[],"body":{"id":18200,"nodeType":"Block","src":"10553:169:41","nodes":[],"statements":[{"assignments":[18175],"declarations":[{"constant":false,"id":18175,"mutability":"mutable","name":"_keyTuple","nameLocation":"10576:9:41","nodeType":"VariableDeclaration","scope":18200,"src":"10559:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":18173,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10559:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18174,"nodeType":"ArrayTypeName","src":"10559:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":18181,"initialValue":{"arguments":[{"hexValue":"31","id":18179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10602:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":18178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10588:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":18176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10592:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18177,"nodeType":"ArrayTypeName","src":"10592:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":18180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10588:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10559:45:41"},{"expression":{"id":18189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18182,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18175,"src":"10610:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":18184,"indexExpression":{"hexValue":"30","id":18183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10620:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10610:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":18187,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18168,"src":"10643:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":18185,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"10625:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":18186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10636:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"10625:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":18188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10625:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10610:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18190,"nodeType":"ExpressionStatement","src":"10610:41:41"},{"expression":{"arguments":[{"id":18194,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"10690:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":18195,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18175,"src":"10700:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":18196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10711:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"3231","id":18197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10714:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"}],"expression":{"id":18191,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"10658:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":18193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10670:19:41","memberName":"popFromDynamicField","nodeType":"MemberAccess","referencedDeclaration":14037,"src":"10658:31:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,uint256)"}},"id":18198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10658:59:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18199,"nodeType":"ExpressionStatement","src":"10658:59:41"}]},"documentation":{"id":18165,"nodeType":"StructuredDocumentation","src":"10459:49:41","text":" @notice Pop an element from hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"pop","nameLocation":"10520:3:41","parameters":{"id":18169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18168,"mutability":"mutable","name":"tableId","nameLocation":"10535:7:41","nodeType":"VariableDeclaration","scope":18201,"src":"10524:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":18167,"nodeType":"UserDefinedTypeName","pathNode":{"id":18166,"name":"ResourceId","nameLocations":["10524:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"10524:10:41"},"referencedDeclaration":9486,"src":"10524:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"10523:20:41"},"returnParameters":{"id":18170,"nodeType":"ParameterList","parameters":[],"src":"10553:0:41"},"scope":18664,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":18238,"nodeType":"FunctionDefinition","src":"10778:210:41","nodes":[],"body":{"id":18237,"nodeType":"Block","src":"10821:167:41","nodes":[],"statements":[{"assignments":[18212],"declarations":[{"constant":false,"id":18212,"mutability":"mutable","name":"_keyTuple","nameLocation":"10844:9:41","nodeType":"VariableDeclaration","scope":18237,"src":"10827:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":18210,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10827:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18211,"nodeType":"ArrayTypeName","src":"10827:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":18218,"initialValue":{"arguments":[{"hexValue":"31","id":18216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10870:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":18215,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10856:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":18213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10860:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18214,"nodeType":"ArrayTypeName","src":"10860:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":18217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10856:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10827:45:41"},{"expression":{"id":18226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18219,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18212,"src":"10878:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":18221,"indexExpression":{"hexValue":"30","id":18220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10888:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10878:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":18224,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18205,"src":"10911:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":18222,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"10893:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":18223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10904:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"10893:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":18225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10893:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10878:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18227,"nodeType":"ExpressionStatement","src":"10878:41:41"},{"expression":{"arguments":[{"id":18231,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"10956:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":18232,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18212,"src":"10966:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":18233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10977:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"3231","id":18234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10980:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"}],"expression":{"id":18228,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"10926:9:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":18230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10936:19:41","memberName":"popFromDynamicField","nodeType":"MemberAccess","referencedDeclaration":12239,"src":"10926:29:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,uint256)"}},"id":18235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10926:57:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18236,"nodeType":"ExpressionStatement","src":"10926:57:41"}]},"documentation":{"id":18202,"nodeType":"StructuredDocumentation","src":"10726:49:41","text":" @notice Pop an element from hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"_pop","nameLocation":"10787:4:41","parameters":{"id":18206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18205,"mutability":"mutable","name":"tableId","nameLocation":"10803:7:41","nodeType":"VariableDeclaration","scope":18238,"src":"10792:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":18204,"nodeType":"UserDefinedTypeName","pathNode":{"id":18203,"name":"ResourceId","nameLocations":["10792:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"10792:10:41"},"referencedDeclaration":9486,"src":"10792:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"10791:20:41"},"returnParameters":{"id":18207,"nodeType":"ParameterList","parameters":[],"src":"10821:0:41"},"scope":18664,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":18299,"nodeType":"FunctionDefinition","src":"11057:387:41","nodes":[],"body":{"id":18298,"nodeType":"Block","src":"11141:303:41","nodes":[],"statements":[{"assignments":[18253],"declarations":[{"constant":false,"id":18253,"mutability":"mutable","name":"_keyTuple","nameLocation":"11164:9:41","nodeType":"VariableDeclaration","scope":18298,"src":"11147:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":18251,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11147:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18252,"nodeType":"ArrayTypeName","src":"11147:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":18259,"initialValue":{"arguments":[{"hexValue":"31","id":18257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11190:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":18256,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11176:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":18254,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11180:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18255,"nodeType":"ArrayTypeName","src":"11180:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":18258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11176:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"11147:45:41"},{"expression":{"id":18267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18260,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18253,"src":"11198:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":18262,"indexExpression":{"hexValue":"30","id":18261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11208:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11198:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":18265,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18242,"src":"11231:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":18263,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"11213:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":18264,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11224:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"11213:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":18266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11213:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11198:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18268,"nodeType":"ExpressionStatement","src":"11198:41:41"},{"id":18297,"nodeType":"UncheckedBlock","src":"11246:194:41","statements":[{"assignments":[18270],"declarations":[{"constant":false,"id":18270,"mutability":"mutable","name":"_encoded","nameLocation":"11277:8:41","nodeType":"VariableDeclaration","scope":18297,"src":"11264:21:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18269,"name":"bytes","nodeType":"ElementaryTypeName","src":"11264:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":18276,"initialValue":{"arguments":[{"components":[{"id":18273,"name":"_element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18246,"src":"11306:8:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":18274,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11305:10:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":18271,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11288:3:41","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11292:12:41","memberName":"encodePacked","nodeType":"MemberAccess","src":"11288:16:41","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":18275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11288:28:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"11264:52:41"},{"expression":{"arguments":[{"id":18280,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"11354:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":18281,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18253,"src":"11364:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":18282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11375:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18285,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18244,"src":"11385:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":18286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11394:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"11385:11:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18284,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11378:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":18283,"name":"uint40","nodeType":"ElementaryTypeName","src":"11378:6:41","typeDescriptions":{}}},"id":18288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11378:19:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"arguments":[{"expression":{"id":18291,"name":"_encoded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18270,"src":"11406:8:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":18292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11415:6:41","memberName":"length","nodeType":"MemberAccess","src":"11406:15:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18290,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11399:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":18289,"name":"uint40","nodeType":"ElementaryTypeName","src":"11399:6:41","typeDescriptions":{}}},"id":18293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11399:23:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"id":18294,"name":"_encoded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18270,"src":"11424:8:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":18277,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"11324:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":18279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11336:17:41","memberName":"spliceDynamicData","nodeType":"MemberAccess","referencedDeclaration":13739,"src":"11324:29:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_uint40_$_t_uint40_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,uint40,uint40,bytes memory)"}},"id":18295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11324:109:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18296,"nodeType":"ExpressionStatement","src":"11324:109:41"}]}]},"documentation":{"id":18239,"nodeType":"StructuredDocumentation","src":"10992:62:41","text":" @notice Update an element of hooks at `_index`."},"implemented":true,"kind":"function","modifiers":[],"name":"updateHooks","nameLocation":"11066:11:41","parameters":{"id":18247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18242,"mutability":"mutable","name":"tableId","nameLocation":"11089:7:41","nodeType":"VariableDeclaration","scope":18299,"src":"11078:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":18241,"nodeType":"UserDefinedTypeName","pathNode":{"id":18240,"name":"ResourceId","nameLocations":["11078:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"11078:10:41"},"referencedDeclaration":9486,"src":"11078:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":18244,"mutability":"mutable","name":"_index","nameLocation":"11106:6:41","nodeType":"VariableDeclaration","scope":18299,"src":"11098:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18243,"name":"uint256","nodeType":"ElementaryTypeName","src":"11098:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18246,"mutability":"mutable","name":"_element","nameLocation":"11122:8:41","nodeType":"VariableDeclaration","scope":18299,"src":"11114:16:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":18245,"name":"bytes21","nodeType":"ElementaryTypeName","src":"11114:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"11077:54:41"},"returnParameters":{"id":18248,"nodeType":"ParameterList","parameters":[],"src":"11141:0:41"},"scope":18664,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":18360,"nodeType":"FunctionDefinition","src":"11513:386:41","nodes":[],"body":{"id":18359,"nodeType":"Block","src":"11598:301:41","nodes":[],"statements":[{"assignments":[18314],"declarations":[{"constant":false,"id":18314,"mutability":"mutable","name":"_keyTuple","nameLocation":"11621:9:41","nodeType":"VariableDeclaration","scope":18359,"src":"11604:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":18312,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11604:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18313,"nodeType":"ArrayTypeName","src":"11604:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":18320,"initialValue":{"arguments":[{"hexValue":"31","id":18318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11647:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":18317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11633:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":18315,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11637:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18316,"nodeType":"ArrayTypeName","src":"11637:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":18319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11633:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"11604:45:41"},{"expression":{"id":18328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18321,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18314,"src":"11655:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":18323,"indexExpression":{"hexValue":"30","id":18322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11665:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11655:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":18326,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18303,"src":"11688:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":18324,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"11670:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":18325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11681:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"11670:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":18327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11670:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11655:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18329,"nodeType":"ExpressionStatement","src":"11655:41:41"},{"id":18358,"nodeType":"UncheckedBlock","src":"11703:192:41","statements":[{"assignments":[18331],"declarations":[{"constant":false,"id":18331,"mutability":"mutable","name":"_encoded","nameLocation":"11734:8:41","nodeType":"VariableDeclaration","scope":18358,"src":"11721:21:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18330,"name":"bytes","nodeType":"ElementaryTypeName","src":"11721:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":18337,"initialValue":{"arguments":[{"components":[{"id":18334,"name":"_element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18307,"src":"11763:8:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":18335,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11762:10:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":18332,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11745:3:41","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11749:12:41","memberName":"encodePacked","nodeType":"MemberAccess","src":"11745:16:41","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":18336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11745:28:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"11721:52:41"},{"expression":{"arguments":[{"id":18341,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"11809:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":18342,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18314,"src":"11819:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":18343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11830:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18346,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18305,"src":"11840:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":18347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11849:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"11840:11:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11833:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":18344,"name":"uint40","nodeType":"ElementaryTypeName","src":"11833:6:41","typeDescriptions":{}}},"id":18349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11833:19:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"arguments":[{"expression":{"id":18352,"name":"_encoded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18331,"src":"11861:8:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":18353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11870:6:41","memberName":"length","nodeType":"MemberAccess","src":"11861:15:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11854:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":18350,"name":"uint40","nodeType":"ElementaryTypeName","src":"11854:6:41","typeDescriptions":{}}},"id":18354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11854:23:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"id":18355,"name":"_encoded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18331,"src":"11879:8:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":18338,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"11781:9:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":18340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11791:17:41","memberName":"spliceDynamicData","nodeType":"MemberAccess","referencedDeclaration":11796,"src":"11781:27:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_uint40_$_t_uint40_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,uint40,uint40,bytes memory)"}},"id":18356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11781:107:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18357,"nodeType":"ExpressionStatement","src":"11781:107:41"}]}]},"documentation":{"id":18300,"nodeType":"StructuredDocumentation","src":"11448:62:41","text":" @notice Update an element of hooks at `_index`."},"implemented":true,"kind":"function","modifiers":[],"name":"_updateHooks","nameLocation":"11522:12:41","parameters":{"id":18308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18303,"mutability":"mutable","name":"tableId","nameLocation":"11546:7:41","nodeType":"VariableDeclaration","scope":18360,"src":"11535:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":18302,"nodeType":"UserDefinedTypeName","pathNode":{"id":18301,"name":"ResourceId","nameLocations":["11535:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"11535:10:41"},"referencedDeclaration":9486,"src":"11535:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":18305,"mutability":"mutable","name":"_index","nameLocation":"11563:6:41","nodeType":"VariableDeclaration","scope":18360,"src":"11555:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18304,"name":"uint256","nodeType":"ElementaryTypeName","src":"11555:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18307,"mutability":"mutable","name":"_element","nameLocation":"11579:8:41","nodeType":"VariableDeclaration","scope":18360,"src":"11571:16:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":18306,"name":"bytes21","nodeType":"ElementaryTypeName","src":"11571:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"11534:54:41"},"returnParameters":{"id":18309,"nodeType":"ParameterList","parameters":[],"src":"11598:0:41"},"scope":18664,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":18421,"nodeType":"FunctionDefinition","src":"11968:382:41","nodes":[],"body":{"id":18420,"nodeType":"Block","src":"12047:303:41","nodes":[],"statements":[{"assignments":[18375],"declarations":[{"constant":false,"id":18375,"mutability":"mutable","name":"_keyTuple","nameLocation":"12070:9:41","nodeType":"VariableDeclaration","scope":18420,"src":"12053:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":18373,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12053:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18374,"nodeType":"ArrayTypeName","src":"12053:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":18381,"initialValue":{"arguments":[{"hexValue":"31","id":18379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12096:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":18378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"12082:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":18376,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12086:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18377,"nodeType":"ArrayTypeName","src":"12086:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":18380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12082:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"12053:45:41"},{"expression":{"id":18389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18382,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18375,"src":"12104:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":18384,"indexExpression":{"hexValue":"30","id":18383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12114:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12104:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":18387,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18364,"src":"12137:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":18385,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"12119:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":18386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12130:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"12119:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":18388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12119:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"12104:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18390,"nodeType":"ExpressionStatement","src":"12104:41:41"},{"id":18419,"nodeType":"UncheckedBlock","src":"12152:194:41","statements":[{"assignments":[18392],"declarations":[{"constant":false,"id":18392,"mutability":"mutable","name":"_encoded","nameLocation":"12183:8:41","nodeType":"VariableDeclaration","scope":18419,"src":"12170:21:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18391,"name":"bytes","nodeType":"ElementaryTypeName","src":"12170:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":18398,"initialValue":{"arguments":[{"components":[{"id":18395,"name":"_element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18368,"src":"12212:8:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":18396,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12211:10:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":18393,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12194:3:41","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12198:12:41","memberName":"encodePacked","nodeType":"MemberAccess","src":"12194:16:41","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":18397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12194:28:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12170:52:41"},{"expression":{"arguments":[{"id":18402,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"12260:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":18403,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18375,"src":"12270:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":18404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12281:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18407,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18366,"src":"12291:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":18408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12300:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"12291:11:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12284:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":18405,"name":"uint40","nodeType":"ElementaryTypeName","src":"12284:6:41","typeDescriptions":{}}},"id":18410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12284:19:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"arguments":[{"expression":{"id":18413,"name":"_encoded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18392,"src":"12312:8:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":18414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12321:6:41","memberName":"length","nodeType":"MemberAccess","src":"12312:15:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18412,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12305:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":18411,"name":"uint40","nodeType":"ElementaryTypeName","src":"12305:6:41","typeDescriptions":{}}},"id":18415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12305:23:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"id":18416,"name":"_encoded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18392,"src":"12330:8:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":18399,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"12230:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":18401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12242:17:41","memberName":"spliceDynamicData","nodeType":"MemberAccess","referencedDeclaration":13739,"src":"12230:29:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_uint40_$_t_uint40_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,uint40,uint40,bytes memory)"}},"id":18417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12230:109:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18418,"nodeType":"ExpressionStatement","src":"12230:109:41"}]}]},"documentation":{"id":18361,"nodeType":"StructuredDocumentation","src":"11903:62:41","text":" @notice Update an element of hooks at `_index`."},"implemented":true,"kind":"function","modifiers":[],"name":"update","nameLocation":"11977:6:41","parameters":{"id":18369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18364,"mutability":"mutable","name":"tableId","nameLocation":"11995:7:41","nodeType":"VariableDeclaration","scope":18421,"src":"11984:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":18363,"nodeType":"UserDefinedTypeName","pathNode":{"id":18362,"name":"ResourceId","nameLocations":["11984:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"11984:10:41"},"referencedDeclaration":9486,"src":"11984:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":18366,"mutability":"mutable","name":"_index","nameLocation":"12012:6:41","nodeType":"VariableDeclaration","scope":18421,"src":"12004:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18365,"name":"uint256","nodeType":"ElementaryTypeName","src":"12004:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18368,"mutability":"mutable","name":"_element","nameLocation":"12028:8:41","nodeType":"VariableDeclaration","scope":18421,"src":"12020:16:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":18367,"name":"bytes21","nodeType":"ElementaryTypeName","src":"12020:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"11983:54:41"},"returnParameters":{"id":18370,"nodeType":"ParameterList","parameters":[],"src":"12047:0:41"},"scope":18664,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":18482,"nodeType":"FunctionDefinition","src":"12419:381:41","nodes":[],"body":{"id":18481,"nodeType":"Block","src":"12499:301:41","nodes":[],"statements":[{"assignments":[18436],"declarations":[{"constant":false,"id":18436,"mutability":"mutable","name":"_keyTuple","nameLocation":"12522:9:41","nodeType":"VariableDeclaration","scope":18481,"src":"12505:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":18434,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12505:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18435,"nodeType":"ArrayTypeName","src":"12505:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":18442,"initialValue":{"arguments":[{"hexValue":"31","id":18440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12548:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":18439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"12534:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":18437,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12538:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18438,"nodeType":"ArrayTypeName","src":"12538:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":18441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12534:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"12505:45:41"},{"expression":{"id":18450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18443,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18436,"src":"12556:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":18445,"indexExpression":{"hexValue":"30","id":18444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12566:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12556:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":18448,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18425,"src":"12589:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":18446,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"12571:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":18447,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12582:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"12571:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":18449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12571:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"12556:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18451,"nodeType":"ExpressionStatement","src":"12556:41:41"},{"id":18480,"nodeType":"UncheckedBlock","src":"12604:192:41","statements":[{"assignments":[18453],"declarations":[{"constant":false,"id":18453,"mutability":"mutable","name":"_encoded","nameLocation":"12635:8:41","nodeType":"VariableDeclaration","scope":18480,"src":"12622:21:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18452,"name":"bytes","nodeType":"ElementaryTypeName","src":"12622:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":18459,"initialValue":{"arguments":[{"components":[{"id":18456,"name":"_element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18429,"src":"12664:8:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":18457,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12663:10:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":18454,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12646:3:41","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12650:12:41","memberName":"encodePacked","nodeType":"MemberAccess","src":"12646:16:41","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":18458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12646:28:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12622:52:41"},{"expression":{"arguments":[{"id":18463,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"12710:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":18464,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18436,"src":"12720:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":18465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12731:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18468,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18427,"src":"12741:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":18469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12750:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"12741:11:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18467,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12734:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":18466,"name":"uint40","nodeType":"ElementaryTypeName","src":"12734:6:41","typeDescriptions":{}}},"id":18471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12734:19:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"arguments":[{"expression":{"id":18474,"name":"_encoded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18453,"src":"12762:8:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":18475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12771:6:41","memberName":"length","nodeType":"MemberAccess","src":"12762:15:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12755:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":18472,"name":"uint40","nodeType":"ElementaryTypeName","src":"12755:6:41","typeDescriptions":{}}},"id":18476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12755:23:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"id":18477,"name":"_encoded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18453,"src":"12780:8:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":18460,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"12682:9:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":18462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12692:17:41","memberName":"spliceDynamicData","nodeType":"MemberAccess","referencedDeclaration":11796,"src":"12682:27:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_uint40_$_t_uint40_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,uint40,uint40,bytes memory)"}},"id":18478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12682:107:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18479,"nodeType":"ExpressionStatement","src":"12682:107:41"}]}]},"documentation":{"id":18422,"nodeType":"StructuredDocumentation","src":"12354:62:41","text":" @notice Update an element of hooks at `_index`."},"implemented":true,"kind":"function","modifiers":[],"name":"_update","nameLocation":"12428:7:41","parameters":{"id":18430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18425,"mutability":"mutable","name":"tableId","nameLocation":"12447:7:41","nodeType":"VariableDeclaration","scope":18482,"src":"12436:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":18424,"nodeType":"UserDefinedTypeName","pathNode":{"id":18423,"name":"ResourceId","nameLocations":["12436:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"12436:10:41"},"referencedDeclaration":9486,"src":"12436:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":18427,"mutability":"mutable","name":"_index","nameLocation":"12464:6:41","nodeType":"VariableDeclaration","scope":18482,"src":"12456:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18426,"name":"uint256","nodeType":"ElementaryTypeName","src":"12456:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18429,"mutability":"mutable","name":"_element","nameLocation":"12480:8:41","nodeType":"VariableDeclaration","scope":18482,"src":"12472:16:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":18428,"name":"bytes21","nodeType":"ElementaryTypeName","src":"12472:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"12435:54:41"},"returnParameters":{"id":18431,"nodeType":"ParameterList","parameters":[],"src":"12499:0:41"},"scope":18664,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":18517,"nodeType":"FunctionDefinition","src":"12861:206:41","nodes":[],"body":{"id":18516,"nodeType":"Block","src":"12912:155:41","nodes":[],"statements":[{"assignments":[18493],"declarations":[{"constant":false,"id":18493,"mutability":"mutable","name":"_keyTuple","nameLocation":"12935:9:41","nodeType":"VariableDeclaration","scope":18516,"src":"12918:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":18491,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12918:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18492,"nodeType":"ArrayTypeName","src":"12918:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":18499,"initialValue":{"arguments":[{"hexValue":"31","id":18497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12961:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":18496,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"12947:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":18494,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12951:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18495,"nodeType":"ArrayTypeName","src":"12951:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":18498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12947:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"12918:45:41"},{"expression":{"id":18507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18500,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18493,"src":"12969:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":18502,"indexExpression":{"hexValue":"30","id":18501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12979:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12969:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":18505,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18486,"src":"13002:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":18503,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"12984:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":18504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12995:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"12984:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":18506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12984:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"12969:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18508,"nodeType":"ExpressionStatement","src":"12969:41:41"},{"expression":{"arguments":[{"id":18512,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"13042:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":18513,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18493,"src":"13052:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":18509,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"13017:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":18511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13029:12:41","memberName":"deleteRecord","nodeType":"MemberAccess","referencedDeclaration":14077,"src":"13017:24:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory)"}},"id":18514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13017:45:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18515,"nodeType":"ExpressionStatement","src":"13017:45:41"}]},"documentation":{"id":18483,"nodeType":"StructuredDocumentation","src":"12804:54:41","text":" @notice Delete all data for given keys."},"implemented":true,"kind":"function","modifiers":[],"name":"deleteRecord","nameLocation":"12870:12:41","parameters":{"id":18487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18486,"mutability":"mutable","name":"tableId","nameLocation":"12894:7:41","nodeType":"VariableDeclaration","scope":18517,"src":"12883:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":18485,"nodeType":"UserDefinedTypeName","pathNode":{"id":18484,"name":"ResourceId","nameLocations":["12883:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"12883:10:41"},"referencedDeclaration":9486,"src":"12883:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"12882:20:41"},"returnParameters":{"id":18488,"nodeType":"ParameterList","parameters":[],"src":"12912:0:41"},"scope":18664,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":18553,"nodeType":"FunctionDefinition","src":"13128:219:41","nodes":[],"body":{"id":18552,"nodeType":"Block","src":"13180:167:41","nodes":[],"statements":[{"assignments":[18528],"declarations":[{"constant":false,"id":18528,"mutability":"mutable","name":"_keyTuple","nameLocation":"13203:9:41","nodeType":"VariableDeclaration","scope":18552,"src":"13186:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":18526,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13186:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18527,"nodeType":"ArrayTypeName","src":"13186:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":18534,"initialValue":{"arguments":[{"hexValue":"31","id":18532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13229:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":18531,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"13215:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":18529,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13219:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18530,"nodeType":"ArrayTypeName","src":"13219:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":18533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13215:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"13186:45:41"},{"expression":{"id":18542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18535,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18528,"src":"13237:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":18537,"indexExpression":{"hexValue":"30","id":18536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13247:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13237:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":18540,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18521,"src":"13270:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":18538,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"13252:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":18539,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13263:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"13252:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":18541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13252:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"13237:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18543,"nodeType":"ExpressionStatement","src":"13237:41:41"},{"expression":{"arguments":[{"id":18547,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"13308:8:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":18548,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18528,"src":"13318:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":18549,"name":"_fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17040,"src":"13329:12:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}],"expression":{"id":18544,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"13285:9:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":18546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13295:12:41","memberName":"deleteRecord","nodeType":"MemberAccess","referencedDeclaration":12133,"src":"13285:22:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_userDefinedValueType$_FieldLayout_$7885_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,FieldLayout)"}},"id":18550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13285:57:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18551,"nodeType":"ExpressionStatement","src":"13285:57:41"}]},"documentation":{"id":18518,"nodeType":"StructuredDocumentation","src":"13071:54:41","text":" @notice Delete all data for given keys."},"implemented":true,"kind":"function","modifiers":[],"name":"_deleteRecord","nameLocation":"13137:13:41","parameters":{"id":18522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18521,"mutability":"mutable","name":"tableId","nameLocation":"13162:7:41","nodeType":"VariableDeclaration","scope":18553,"src":"13151:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":18520,"nodeType":"UserDefinedTypeName","pathNode":{"id":18519,"name":"ResourceId","nameLocations":["13151:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"13151:10:41"},"referencedDeclaration":9486,"src":"13151:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"13150:20:41"},"returnParameters":{"id":18523,"nodeType":"ParameterList","parameters":[],"src":"13180:0:41"},"scope":18664,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":18575,"nodeType":"FunctionDefinition","src":"13538:283:41","nodes":[],"body":{"id":18574,"nodeType":"Block","src":"13640:181:41","nodes":[],"statements":[{"id":18573,"nodeType":"UncheckedBlock","src":"13733:84:41","statements":[{"expression":{"id":18571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":18563,"name":"_encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18561,"src":"13751:15:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":18566,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18557,"src":"13792:5:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":18567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13798:6:41","memberName":"length","nodeType":"MemberAccess","src":"13792:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":18568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13807:2:41","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"13792:17:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18564,"name":"EncodedLengthsLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7669,"src":"13769:17:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EncodedLengthsLib_$7669_$","typeString":"type(library EncodedLengthsLib)"}},"id":18565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13787:4:41","memberName":"pack","nodeType":"MemberAccess","referencedDeclaration":7314,"src":"13769:22:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (uint256) pure returns (EncodedLengths)"}},"id":18570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13769:41:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"src":"13751:59:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"id":18572,"nodeType":"ExpressionStatement","src":"13751:59:41"}]}]},"documentation":{"id":18554,"nodeType":"StructuredDocumentation","src":"13351:184:41","text":" @notice Tightly pack dynamic data lengths using this table's schema.\n @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value)."},"implemented":true,"kind":"function","modifiers":[],"name":"encodeLengths","nameLocation":"13547:13:41","parameters":{"id":18558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18557,"mutability":"mutable","name":"hooks","nameLocation":"13578:5:41","nodeType":"VariableDeclaration","scope":18575,"src":"13561:22:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":18555,"name":"bytes21","nodeType":"ElementaryTypeName","src":"13561:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":18556,"nodeType":"ArrayTypeName","src":"13561:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"13560:24:41"},"returnParameters":{"id":18562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18561,"mutability":"mutable","name":"_encodedLengths","nameLocation":"13623:15:41","nodeType":"VariableDeclaration","scope":18575,"src":"13608:30:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":18560,"nodeType":"UserDefinedTypeName","pathNode":{"id":18559,"name":"EncodedLengths","nameLocations":["13608:14:41"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"13608:14:41"},"referencedDeclaration":7251,"src":"13608:14:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"}],"src":"13607:32:41"},"scope":18664,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18594,"nodeType":"FunctionDefinition","src":"13986:147:41","nodes":[],"body":{"id":18593,"nodeType":"Block","src":"14070:63:41","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"components":[{"id":18588,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18579,"src":"14120:5:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"id":18589,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14119:7:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}],"expression":{"id":18586,"name":"EncodeArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26427,"src":"14100:11:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EncodeArray_$26427_$","typeString":"type(library EncodeArray)"}},"id":18587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14112:6:41","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26114,"src":"14100:18:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes21_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes21[] memory) pure returns (bytes memory)"}},"id":18590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14100:27:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":18584,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14083:3:41","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14087:12:41","memberName":"encodePacked","nodeType":"MemberAccess","src":"14083:16:41","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":18591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14083:45:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":18583,"id":18592,"nodeType":"Return","src":"14076:52:41"}]},"documentation":{"id":18576,"nodeType":"StructuredDocumentation","src":"13825:158:41","text":" @notice Tightly pack dynamic (variable length) data using this table's schema.\n @return The dynamic data, encoded into a sequence of bytes."},"implemented":true,"kind":"function","modifiers":[],"name":"encodeDynamic","nameLocation":"13995:13:41","parameters":{"id":18580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18579,"mutability":"mutable","name":"hooks","nameLocation":"14026:5:41","nodeType":"VariableDeclaration","scope":18594,"src":"14009:22:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":18577,"name":"bytes21","nodeType":"ElementaryTypeName","src":"14009:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":18578,"nodeType":"ArrayTypeName","src":"14009:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"14008:24:41"},"returnParameters":{"id":18583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18582,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18594,"src":"14056:12:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18581,"name":"bytes","nodeType":"ElementaryTypeName","src":"14056:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14055:14:41"},"scope":18664,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18630,"nodeType":"FunctionDefinition","src":"14442:313:41","nodes":[],"body":{"id":18629,"nodeType":"Block","src":"14549:206:41","nodes":[],"statements":[{"assignments":[18609],"declarations":[{"constant":false,"id":18609,"mutability":"mutable","name":"_staticData","nameLocation":"14568:11:41","nodeType":"VariableDeclaration","scope":18629,"src":"14555:24:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18608,"name":"bytes","nodeType":"ElementaryTypeName","src":"14555:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":18610,"nodeType":"VariableDeclarationStatement","src":"14555:24:41"},{"assignments":[18613],"declarations":[{"constant":false,"id":18613,"mutability":"mutable","name":"_encodedLengths","nameLocation":"14600:15:41","nodeType":"VariableDeclaration","scope":18629,"src":"14585:30:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":18612,"nodeType":"UserDefinedTypeName","pathNode":{"id":18611,"name":"EncodedLengths","nameLocations":["14585:14:41"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"14585:14:41"},"referencedDeclaration":7251,"src":"14585:14:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"}],"id":18617,"initialValue":{"arguments":[{"id":18615,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18598,"src":"14632:5:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}],"id":18614,"name":"encodeLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18575,"src":"14618:13:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes21_$dyn_memory_ptr_$returns$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (bytes21[] memory) pure returns (EncodedLengths)"}},"id":18616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14618:20:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"nodeType":"VariableDeclarationStatement","src":"14585:53:41"},{"assignments":[18619],"declarations":[{"constant":false,"id":18619,"mutability":"mutable","name":"_dynamicData","nameLocation":"14657:12:41","nodeType":"VariableDeclaration","scope":18629,"src":"14644:25:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18618,"name":"bytes","nodeType":"ElementaryTypeName","src":"14644:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":18623,"initialValue":{"arguments":[{"id":18621,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18598,"src":"14686:5:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}],"id":18620,"name":"encodeDynamic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18594,"src":"14672:13:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes21_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes21[] memory) pure returns (bytes memory)"}},"id":18622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14672:20:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"14644:48:41"},{"expression":{"components":[{"id":18624,"name":"_staticData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18609,"src":"14707:11:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":18625,"name":"_encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18613,"src":"14720:15:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},{"id":18626,"name":"_dynamicData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18619,"src":"14737:12:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":18627,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14706:44:41","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$","typeString":"tuple(bytes memory,EncodedLengths,bytes memory)"}},"functionReturnParameters":18607,"id":18628,"nodeType":"Return","src":"14699:51:41"}]},"documentation":{"id":18595,"nodeType":"StructuredDocumentation","src":"14137:302:41","text":" @notice Encode all of a record's fields.\n @return The static (fixed length) data, encoded into a sequence of bytes.\n @return The lengths of the dynamic fields (packed into a single bytes32 value).\n @return The dynamic (variable length) data, encoded into a sequence of bytes."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"14451:6:41","parameters":{"id":18599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18598,"mutability":"mutable","name":"hooks","nameLocation":"14475:5:41","nodeType":"VariableDeclaration","scope":18630,"src":"14458:22:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":18596,"name":"bytes21","nodeType":"ElementaryTypeName","src":"14458:7:41","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":18597,"nodeType":"ArrayTypeName","src":"14458:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"14457:24:41"},"returnParameters":{"id":18607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18601,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18630,"src":"14505:12:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18600,"name":"bytes","nodeType":"ElementaryTypeName","src":"14505:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":18604,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18630,"src":"14519:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":18603,"nodeType":"UserDefinedTypeName","pathNode":{"id":18602,"name":"EncodedLengths","nameLocations":["14519:14:41"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"14519:14:41"},"referencedDeclaration":7251,"src":"14519:14:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"},{"constant":false,"id":18606,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18630,"src":"14535:12:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18605,"name":"bytes","nodeType":"ElementaryTypeName","src":"14535:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14504:44:41"},"scope":18664,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18663,"nodeType":"FunctionDefinition","src":"14848:211:41","nodes":[],"body":{"id":18662,"nodeType":"Block","src":"14933:126:41","nodes":[],"statements":[{"assignments":[18644],"declarations":[{"constant":false,"id":18644,"mutability":"mutable","name":"_keyTuple","nameLocation":"14956:9:41","nodeType":"VariableDeclaration","scope":18662,"src":"14939:26:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":18642,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14939:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18643,"nodeType":"ArrayTypeName","src":"14939:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":18650,"initialValue":{"arguments":[{"hexValue":"31","id":18648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14982:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":18647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"14968:13:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":18645,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14972:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18646,"nodeType":"ArrayTypeName","src":"14972:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":18649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14968:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"14939:45:41"},{"expression":{"id":18658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18651,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18644,"src":"14990:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":18653,"indexExpression":{"hexValue":"30","id":18652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15000:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14990:12:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":18656,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18634,"src":"15023:7:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":18654,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"15005:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":18655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15016:6:41","memberName":"unwrap","nodeType":"MemberAccess","src":"15005:17:41","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":18657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15005:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"14990:41:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18659,"nodeType":"ExpressionStatement","src":"14990:41:41"},{"expression":{"id":18660,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18644,"src":"15045:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":18639,"id":18661,"nodeType":"Return","src":"15038:16:41"}]},"documentation":{"id":18631,"nodeType":"StructuredDocumentation","src":"14759:86:41","text":" @notice Encode keys as a bytes32 array using this table's field layout."},"implemented":true,"kind":"function","modifiers":[],"name":"encodeKeyTuple","nameLocation":"14857:14:41","parameters":{"id":18635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18634,"mutability":"mutable","name":"tableId","nameLocation":"14883:7:41","nodeType":"VariableDeclaration","scope":18663,"src":"14872:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":18633,"nodeType":"UserDefinedTypeName","pathNode":{"id":18632,"name":"ResourceId","nameLocations":["14872:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"14872:10:41"},"referencedDeclaration":9486,"src":"14872:10:41","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"14871:20:41"},"returnParameters":{"id":18639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18638,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18663,"src":"14915:16:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":18636,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14915:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18637,"nodeType":"ArrayTypeName","src":"14915:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"14914:18:41"},"scope":18664,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"StoreHooks","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[18664],"name":"StoreHooks","nameLocation":"780:10:41","scope":18665,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":41}