{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200567e54809ece51be3111bda404068d9fbdc878dad9d09d7b6ef2a026c21d71864736f6c63430008180033","sourceMap":"772:14893:39:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;772:14893:39;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200567e54809ece51be3111bda404068d9fbdc878dad9d09d7b6ef2a026c21d71864736f6c63430008180033","sourceMap":"772:14893:39:-: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/Hooks.sol\":\"Hooks\"},\"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/Hooks.sol":"Hooks"},"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/Hooks.sol","id":16324,"exportedSymbols":{"Bytes":[7243],"EncodeArray":[26427],"EncodedLengths":[7251],"EncodedLengthsLib":[7669],"FieldLayout":[7885],"Hooks":[16323],"IStore":[8658],"Memory":[9482],"ResourceId":[9486],"Schema":[9581],"SliceLib":[10192],"StoreCore":[12701],"StoreSwitch":[14558]},"nodeType":"SourceUnit","src":"32:15634:39","nodes":[{"id":14571,"nodeType":"PragmaDirective","src":"32:25:39","nodes":[],"literals":["solidity",">=","0.8",".24"]},{"id":14573,"nodeType":"ImportDirective","src":"134:42:39","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/IStore.sol","file":"../../IStore.sol","nameLocation":"-1:-1:-1","scope":16324,"sourceUnit":8659,"symbolAliases":[{"foreign":{"id":14572,"name":"IStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8658,"src":"143:6:39","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":14575,"nodeType":"ImportDirective","src":"177:52:39","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/StoreSwitch.sol","file":"../../StoreSwitch.sol","nameLocation":"-1:-1:-1","scope":16324,"sourceUnit":14559,"symbolAliases":[{"foreign":{"id":14574,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"186:11:39","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":14577,"nodeType":"ImportDirective","src":"230:48:39","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/StoreCore.sol","file":"../../StoreCore.sol","nameLocation":"-1:-1:-1","scope":16324,"sourceUnit":13234,"symbolAliases":[{"foreign":{"id":14576,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"239:9:39","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":14579,"nodeType":"ImportDirective","src":"279:40:39","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/Bytes.sol","file":"../../Bytes.sol","nameLocation":"-1:-1:-1","scope":16324,"sourceUnit":7244,"symbolAliases":[{"foreign":{"id":14578,"name":"Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7243,"src":"288:5:39","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":14581,"nodeType":"ImportDirective","src":"320:42:39","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/Memory.sol","file":"../../Memory.sol","nameLocation":"-1:-1:-1","scope":16324,"sourceUnit":9483,"symbolAliases":[{"foreign":{"id":14580,"name":"Memory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9482,"src":"329:6:39","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":14583,"nodeType":"ImportDirective","src":"363:43:39","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/Slice.sol","file":"../../Slice.sol","nameLocation":"-1:-1:-1","scope":16324,"sourceUnit":10290,"symbolAliases":[{"foreign":{"id":14582,"name":"SliceLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10192,"src":"372:8:39","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":14585,"nodeType":"ImportDirective","src":"407:63:39","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol","file":"../../tightcoder/EncodeArray.sol","nameLocation":"-1:-1:-1","scope":16324,"sourceUnit":26428,"symbolAliases":[{"foreign":{"id":14584,"name":"EncodeArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26427,"src":"416:11:39","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":14587,"nodeType":"ImportDirective","src":"471:52:39","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/FieldLayout.sol","file":"../../FieldLayout.sol","nameLocation":"-1:-1:-1","scope":16324,"sourceUnit":8362,"symbolAliases":[{"foreign":{"id":14586,"name":"FieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7885,"src":"480:11:39","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":14589,"nodeType":"ImportDirective","src":"524:42:39","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/Schema.sol","file":"../../Schema.sol","nameLocation":"-1:-1:-1","scope":16324,"sourceUnit":10058,"symbolAliases":[{"foreign":{"id":14588,"name":"Schema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9581,"src":"533:6:39","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":14592,"nodeType":"ImportDirective","src":"567:77:39","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/EncodedLengths.sol","file":"../../EncodedLengths.sol","nameLocation":"-1:-1:-1","scope":16324,"sourceUnit":7873,"symbolAliases":[{"foreign":{"id":14590,"name":"EncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7251,"src":"576:14:39","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":14591,"name":"EncodedLengthsLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7669,"src":"592:17:39","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":14594,"nodeType":"ImportDirective","src":"645:50:39","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/ResourceId.sol","file":"../../ResourceId.sol","nameLocation":"-1:-1:-1","scope":16324,"sourceUnit":9568,"symbolAliases":[{"foreign":{"id":14593,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"654:10:39","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":14596,"nodeType":"ImportDirective","src":"718:52:39","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/ResourceId.sol","file":"./../../ResourceId.sol","nameLocation":"-1:-1:-1","scope":16324,"sourceUnit":9568,"symbolAliases":[{"foreign":{"id":14595,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"727:10:39","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":16323,"nodeType":"ContractDefinition","src":"772:14893:39","nodes":[{"id":14603,"nodeType":"VariableDeclaration","src":"790:124:39","nodes":[],"constant":true,"mutability":"constant","name":"_fieldLayout","nameLocation":"811:12:39","scope":16323,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},"typeName":{"id":14598,"nodeType":"UserDefinedTypeName","pathNode":{"id":14597,"name":"FieldLayout","nameLocations":["790:11:39"],"nodeType":"IdentifierPath","referencedDeclaration":7885,"src":"790:11:39"},"referencedDeclaration":7885,"src":"790:11:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"value":{"arguments":[{"hexValue":"307830303030303030313030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030","id":14601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"847:66:39","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":14599,"name":"FieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7885,"src":"830:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"type(FieldLayout)"}},"id":14600,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"842:4:39","memberName":"wrap","nodeType":"MemberAccess","src":"830:16:39","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (bytes32) pure returns (FieldLayout)"}},"id":14602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"830:84:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"visibility":"internal"},{"id":14610,"nodeType":"VariableDeclaration","src":"960:108:39","nodes":[],"constant":true,"mutability":"constant","name":"_keySchema","nameLocation":"976:10:39","scope":16323,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"},"typeName":{"id":14605,"nodeType":"UserDefinedTypeName","pathNode":{"id":14604,"name":"Schema","nameLocations":["960:6:39"],"nodeType":"IdentifierPath","referencedDeclaration":9581,"src":"960:6:39"},"referencedDeclaration":9581,"src":"960:6:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"value":{"arguments":[{"hexValue":"307830303230303130303566303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030","id":14608,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1001:66:39","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":14606,"name":"Schema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9581,"src":"989:6:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Schema_$9581_$","typeString":"type(Schema)"}},"id":14607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"996:4:39","memberName":"wrap","nodeType":"MemberAccess","src":"989:11:39","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_Schema_$9581_$","typeString":"function (bytes32) pure returns (Schema)"}},"id":14609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"989:79:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"visibility":"internal"},{"id":14617,"nodeType":"VariableDeclaration","src":"1117:110:39","nodes":[],"constant":true,"mutability":"constant","name":"_valueSchema","nameLocation":"1133:12:39","scope":16323,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"},"typeName":{"id":14612,"nodeType":"UserDefinedTypeName","pathNode":{"id":14611,"name":"Schema","nameLocations":["1117:6:39"],"nodeType":"IdentifierPath","referencedDeclaration":9581,"src":"1117:6:39"},"referencedDeclaration":9581,"src":"1117:6:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"value":{"arguments":[{"hexValue":"307830303030303030316236303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030","id":14615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1160:66:39","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":14613,"name":"Schema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9581,"src":"1148:6:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Schema_$9581_$","typeString":"type(Schema)"}},"id":14614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1155:4:39","memberName":"wrap","nodeType":"MemberAccess","src":"1148:11:39","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_Schema_$9581_$","typeString":"function (bytes32) pure returns (Schema)"}},"id":14616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1148:79:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"visibility":"internal"},{"id":14639,"nodeType":"FunctionDefinition","src":"1362:141:39","nodes":[],"body":{"id":14638,"nodeType":"Block","src":"1434:69:39","nodes":[],"statements":[{"expression":{"id":14630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":14624,"name":"keyNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14622,"src":"1440:8:39","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":14628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1464:1:39","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":14627,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1451:12:39","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":14625,"name":"string","nodeType":"ElementaryTypeName","src":"1455:6:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14626,"nodeType":"ArrayTypeName","src":"1455:8:39","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":14629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1451:15:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"1440:26:39","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":14631,"nodeType":"ExpressionStatement","src":"1440:26:39"},{"expression":{"id":14636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":14632,"name":"keyNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14622,"src":"1472:8:39","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":14634,"indexExpression":{"hexValue":"30","id":14633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1481:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1472:11:39","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"7265736f757263654964","id":14635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1486:12:39","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae4286f62033e1d0a5a341affe4b01f0d7feff5485662427221e7c7afba3f4b9","typeString":"literal_string \"resourceId\""},"value":"resourceId"},"src":"1472:26:39","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":14637,"nodeType":"ExpressionStatement","src":"1472:26:39"}]},"documentation":{"id":14618,"nodeType":"StructuredDocumentation","src":"1232:127:39","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":"1371:11:39","parameters":{"id":14619,"nodeType":"ParameterList","parameters":[],"src":"1382:2:39"},"returnParameters":{"id":14623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14622,"mutability":"mutable","name":"keyNames","nameLocation":"1424:8:39","nodeType":"VariableDeclaration","scope":14639,"src":"1408:24:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14620,"name":"string","nodeType":"ElementaryTypeName","src":"1408:6:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14621,"nodeType":"ArrayTypeName","src":"1408:8:39","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"1407:26:39"},"scope":16323,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":14661,"nodeType":"FunctionDefinition","src":"1643:144:39","nodes":[],"body":{"id":14660,"nodeType":"Block","src":"1719:68:39","nodes":[],"statements":[{"expression":{"id":14652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":14646,"name":"fieldNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14644,"src":"1725:10:39","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":14650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1751:1:39","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":14649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1738:12:39","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":14647,"name":"string","nodeType":"ElementaryTypeName","src":"1742:6:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14648,"nodeType":"ArrayTypeName","src":"1742:8:39","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":14651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1738:15:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"1725:28:39","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":14653,"nodeType":"ExpressionStatement","src":"1725:28:39"},{"expression":{"id":14658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":14654,"name":"fieldNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14644,"src":"1759:10:39","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":14656,"indexExpression":{"hexValue":"30","id":14655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1770:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1759:13:39","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"686f6f6b73","id":14657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1775:7:39","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f9bc50139270f117bd0fe24ad6d2e8fe1d7339aca12925d4afb84cb18f9b0ba","typeString":"literal_string \"hooks\""},"value":"hooks"},"src":"1759:23:39","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":14659,"nodeType":"ExpressionStatement","src":"1759:23:39"}]},"documentation":{"id":14640,"nodeType":"StructuredDocumentation","src":"1507:133:39","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":"1652:13:39","parameters":{"id":14641,"nodeType":"ParameterList","parameters":[],"src":"1665:2:39"},"returnParameters":{"id":14645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14644,"mutability":"mutable","name":"fieldNames","nameLocation":"1707:10:39","nodeType":"VariableDeclaration","scope":14661,"src":"1691:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14642,"name":"string","nodeType":"ElementaryTypeName","src":"1691:6:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14643,"nodeType":"ArrayTypeName","src":"1691:8:39","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"1690:28:39"},"scope":16323,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":14682,"nodeType":"FunctionDefinition","src":"1852:166:39","nodes":[],"body":{"id":14681,"nodeType":"Block","src":"1900:118:39","nodes":[],"statements":[{"expression":{"arguments":[{"id":14671,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14665,"src":"1932:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":14672,"name":"_fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14603,"src":"1942:12:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},{"id":14673,"name":"_keySchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14610,"src":"1956:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},{"id":14674,"name":"_valueSchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14617,"src":"1968:12:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},{"arguments":[],"expression":{"argumentTypes":[],"id":14675,"name":"getKeyNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14639,"src":"1982:11:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function () pure returns (string memory[] memory)"}},"id":14676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1982:13:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":14677,"name":"getFieldNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14661,"src":"1997:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function () pure returns (string memory[] memory)"}},"id":14678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1997:15:39","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":14668,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"1906:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":14670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1918:13:39","memberName":"registerTable","nodeType":"MemberAccess","referencedDeclaration":13582,"src":"1906:25:39","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":14679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1906:107:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14680,"nodeType":"ExpressionStatement","src":"1906:107:39"}]},"documentation":{"id":14662,"nodeType":"StructuredDocumentation","src":"1791:58:39","text":" @notice Register the table with its config."},"implemented":true,"kind":"function","modifiers":[],"name":"register","nameLocation":"1861:8:39","parameters":{"id":14666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14665,"mutability":"mutable","name":"_tableId","nameLocation":"1881:8:39","nodeType":"VariableDeclaration","scope":14682,"src":"1870:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":14664,"nodeType":"UserDefinedTypeName","pathNode":{"id":14663,"name":"ResourceId","nameLocations":["1870:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"1870:10:39"},"referencedDeclaration":9486,"src":"1870:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"1869:21:39"},"returnParameters":{"id":14667,"nodeType":"ParameterList","parameters":[],"src":"1900:0:39"},"scope":16323,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":14703,"nodeType":"FunctionDefinition","src":"2083:165:39","nodes":[],"body":{"id":14702,"nodeType":"Block","src":"2132:116:39","nodes":[],"statements":[{"expression":{"arguments":[{"id":14692,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14686,"src":"2162:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":14693,"name":"_fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14603,"src":"2172:12:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},{"id":14694,"name":"_keySchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14610,"src":"2186:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},{"id":14695,"name":"_valueSchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14617,"src":"2198:12:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},{"arguments":[],"expression":{"argumentTypes":[],"id":14696,"name":"getKeyNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14639,"src":"2212:11:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function () pure returns (string memory[] memory)"}},"id":14697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2212:13:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":14698,"name":"getFieldNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14661,"src":"2227:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function () pure returns (string memory[] memory)"}},"id":14699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2227:15:39","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":14689,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"2138:9:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":14691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2148:13:39","memberName":"registerTable","nodeType":"MemberAccess","referencedDeclaration":11243,"src":"2138:23:39","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":14700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2138:105:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14701,"nodeType":"ExpressionStatement","src":"2138:105:39"}]},"documentation":{"id":14683,"nodeType":"StructuredDocumentation","src":"2022:58:39","text":" @notice Register the table with its config."},"implemented":true,"kind":"function","modifiers":[],"name":"_register","nameLocation":"2092:9:39","parameters":{"id":14687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14686,"mutability":"mutable","name":"_tableId","nameLocation":"2113:8:39","nodeType":"VariableDeclaration","scope":14703,"src":"2102:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":14685,"nodeType":"UserDefinedTypeName","pathNode":{"id":14684,"name":"ResourceId","nameLocations":["2102:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"2102:10:39"},"referencedDeclaration":9486,"src":"2102:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"2101:21:39"},"returnParameters":{"id":14688,"nodeType":"ParameterList","parameters":[],"src":"2132:0:39"},"scope":16323,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":14757,"nodeType":"FunctionDefinition","src":"2288:375:39","nodes":[],"body":{"id":14756,"nodeType":"Block","src":"2397:266:39","nodes":[],"statements":[{"assignments":[14720],"declarations":[{"constant":false,"id":14720,"mutability":"mutable","name":"_keyTuple","nameLocation":"2420:9:39","nodeType":"VariableDeclaration","scope":14756,"src":"2403:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14718,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2403:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14719,"nodeType":"ArrayTypeName","src":"2403:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":14726,"initialValue":{"arguments":[{"hexValue":"31","id":14724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2446:1:39","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":14723,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2432:13:39","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":14721,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2436:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14722,"nodeType":"ArrayTypeName","src":"2436:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":14725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2432:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2403:45:39"},{"expression":{"id":14734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":14727,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14720,"src":"2454:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":14729,"indexExpression":{"hexValue":"30","id":14728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2464:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2454:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":14732,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14710,"src":"2487:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":14730,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"2469:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":14731,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2480:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"2469:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":14733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2469:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2454:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14735,"nodeType":"ExpressionStatement","src":"2454:44:39"},{"assignments":[14737],"declarations":[{"constant":false,"id":14737,"mutability":"mutable","name":"_blob","nameLocation":"2518:5:39","nodeType":"VariableDeclaration","scope":14756,"src":"2505:18:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14736,"name":"bytes","nodeType":"ElementaryTypeName","src":"2505:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":14744,"initialValue":{"arguments":[{"id":14740,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14707,"src":"2554:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":14741,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14720,"src":"2564:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":14742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2575:1:39","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":14738,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"2526:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":14739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2538:15:39","memberName":"getDynamicField","nodeType":"MemberAccess","referencedDeclaration":14364,"src":"2526:27:39","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":14743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2526:51:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"2505:72:39"},{"expression":{"components":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":14747,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14737,"src":"2612:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":14748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2619:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":14749,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14737,"src":"2622:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":14750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2628:6:39","memberName":"length","nodeType":"MemberAccess","src":"2622:12:39","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":14745,"name":"SliceLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10192,"src":"2591:8:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SliceLib_$10192_$","typeString":"type(library SliceLib)"}},"id":14746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2600:11:39","memberName":"getSubslice","nodeType":"MemberAccess","referencedDeclaration":10191,"src":"2591:20:39","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":14751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2591:44:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$10067","typeString":"Slice"}},"id":14752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2636:19:39","memberName":"decodeArray_bytes21","nodeType":"MemberAccess","referencedDeclaration":23756,"src":"2591:64:39","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":14753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2591:66:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"id":14754,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2590:68:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"functionReturnParameters":14715,"id":14755,"nodeType":"Return","src":"2583:75:39"}]},"documentation":{"id":14704,"nodeType":"StructuredDocumentation","src":"2252:33:39","text":" @notice Get hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"getHooks","nameLocation":"2297:8:39","parameters":{"id":14711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14707,"mutability":"mutable","name":"_tableId","nameLocation":"2317:8:39","nodeType":"VariableDeclaration","scope":14757,"src":"2306:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":14706,"nodeType":"UserDefinedTypeName","pathNode":{"id":14705,"name":"ResourceId","nameLocations":["2306:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"2306:10:39"},"referencedDeclaration":9486,"src":"2306:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":14710,"mutability":"mutable","name":"resourceId","nameLocation":"2338:10:39","nodeType":"VariableDeclaration","scope":14757,"src":"2327:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":14709,"nodeType":"UserDefinedTypeName","pathNode":{"id":14708,"name":"ResourceId","nameLocations":["2327:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"2327:10:39"},"referencedDeclaration":9486,"src":"2327:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"2305:44:39"},"returnParameters":{"id":14715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14714,"mutability":"mutable","name":"hooks","nameLocation":"2390:5:39","nodeType":"VariableDeclaration","scope":14757,"src":"2373:22:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":14712,"name":"bytes21","nodeType":"ElementaryTypeName","src":"2373:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":14713,"nodeType":"ArrayTypeName","src":"2373:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"2372:24:39"},"scope":16323,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14811,"nodeType":"FunctionDefinition","src":"2703:374:39","nodes":[],"body":{"id":14810,"nodeType":"Block","src":"2813:264:39","nodes":[],"statements":[{"assignments":[14774],"declarations":[{"constant":false,"id":14774,"mutability":"mutable","name":"_keyTuple","nameLocation":"2836:9:39","nodeType":"VariableDeclaration","scope":14810,"src":"2819:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14772,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2819:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14773,"nodeType":"ArrayTypeName","src":"2819:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":14780,"initialValue":{"arguments":[{"hexValue":"31","id":14778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2862:1:39","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":14777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2848:13:39","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":14775,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2852:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14776,"nodeType":"ArrayTypeName","src":"2852:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":14779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2848:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2819:45:39"},{"expression":{"id":14788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":14781,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14774,"src":"2870:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":14783,"indexExpression":{"hexValue":"30","id":14782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2880:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2870:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":14786,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14764,"src":"2903:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":14784,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"2885:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":14785,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2896:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"2885:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":14787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2885:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2870:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14789,"nodeType":"ExpressionStatement","src":"2870:44:39"},{"assignments":[14791],"declarations":[{"constant":false,"id":14791,"mutability":"mutable","name":"_blob","nameLocation":"2934:5:39","nodeType":"VariableDeclaration","scope":14810,"src":"2921:18:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14790,"name":"bytes","nodeType":"ElementaryTypeName","src":"2921:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":14798,"initialValue":{"arguments":[{"id":14794,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14761,"src":"2968:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":14795,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14774,"src":"2978:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":14796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2989:1:39","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":14792,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"2942:9:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":14793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2952:15:39","memberName":"getDynamicField","nodeType":"MemberAccess","referencedDeclaration":12517,"src":"2942:25:39","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":14797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2942:49:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"2921:70:39"},{"expression":{"components":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":14801,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14791,"src":"3026:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":14802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3033:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":14803,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14791,"src":"3036:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":14804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3042:6:39","memberName":"length","nodeType":"MemberAccess","src":"3036:12:39","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":14799,"name":"SliceLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10192,"src":"3005:8:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SliceLib_$10192_$","typeString":"type(library SliceLib)"}},"id":14800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3014:11:39","memberName":"getSubslice","nodeType":"MemberAccess","referencedDeclaration":10191,"src":"3005:20:39","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":14805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3005:44:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$10067","typeString":"Slice"}},"id":14806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3050:19:39","memberName":"decodeArray_bytes21","nodeType":"MemberAccess","referencedDeclaration":23756,"src":"3005:64:39","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":14807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3005:66:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"id":14808,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3004:68:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"functionReturnParameters":14769,"id":14809,"nodeType":"Return","src":"2997:75:39"}]},"documentation":{"id":14758,"nodeType":"StructuredDocumentation","src":"2667:33:39","text":" @notice Get hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"_getHooks","nameLocation":"2712:9:39","parameters":{"id":14765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14761,"mutability":"mutable","name":"_tableId","nameLocation":"2733:8:39","nodeType":"VariableDeclaration","scope":14811,"src":"2722:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":14760,"nodeType":"UserDefinedTypeName","pathNode":{"id":14759,"name":"ResourceId","nameLocations":["2722:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"2722:10:39"},"referencedDeclaration":9486,"src":"2722:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":14764,"mutability":"mutable","name":"resourceId","nameLocation":"2754:10:39","nodeType":"VariableDeclaration","scope":14811,"src":"2743:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":14763,"nodeType":"UserDefinedTypeName","pathNode":{"id":14762,"name":"ResourceId","nameLocations":["2743:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"2743:10:39"},"referencedDeclaration":9486,"src":"2743:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"2721:44:39"},"returnParameters":{"id":14769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14768,"mutability":"mutable","name":"hooks","nameLocation":"2806:5:39","nodeType":"VariableDeclaration","scope":14811,"src":"2789:22:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":14766,"name":"bytes21","nodeType":"ElementaryTypeName","src":"2789:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":14767,"nodeType":"ArrayTypeName","src":"2789:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"2788:24:39"},"scope":16323,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14865,"nodeType":"FunctionDefinition","src":"3117:370:39","nodes":[],"body":{"id":14864,"nodeType":"Block","src":"3221:266:39","nodes":[],"statements":[{"assignments":[14828],"declarations":[{"constant":false,"id":14828,"mutability":"mutable","name":"_keyTuple","nameLocation":"3244:9:39","nodeType":"VariableDeclaration","scope":14864,"src":"3227:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14826,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3227:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14827,"nodeType":"ArrayTypeName","src":"3227:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":14834,"initialValue":{"arguments":[{"hexValue":"31","id":14832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3270:1:39","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":14831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3256:13:39","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":14829,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3260:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14830,"nodeType":"ArrayTypeName","src":"3260:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":14833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3256:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3227:45:39"},{"expression":{"id":14842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":14835,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14828,"src":"3278:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":14837,"indexExpression":{"hexValue":"30","id":14836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3288:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3278:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":14840,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14818,"src":"3311:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":14838,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"3293:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":14839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3304:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"3293:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":14841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3293:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3278:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14843,"nodeType":"ExpressionStatement","src":"3278:44:39"},{"assignments":[14845],"declarations":[{"constant":false,"id":14845,"mutability":"mutable","name":"_blob","nameLocation":"3342:5:39","nodeType":"VariableDeclaration","scope":14864,"src":"3329:18:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14844,"name":"bytes","nodeType":"ElementaryTypeName","src":"3329:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":14852,"initialValue":{"arguments":[{"id":14848,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14815,"src":"3378:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":14849,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14828,"src":"3388:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":14850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3399:1:39","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":14846,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"3350:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":14847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3362:15:39","memberName":"getDynamicField","nodeType":"MemberAccess","referencedDeclaration":14364,"src":"3350:27:39","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":14851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3350:51:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3329:72:39"},{"expression":{"components":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":14855,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14845,"src":"3436:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":14856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3443:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":14857,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14845,"src":"3446:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":14858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3452:6:39","memberName":"length","nodeType":"MemberAccess","src":"3446:12:39","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":14853,"name":"SliceLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10192,"src":"3415:8:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SliceLib_$10192_$","typeString":"type(library SliceLib)"}},"id":14854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3424:11:39","memberName":"getSubslice","nodeType":"MemberAccess","referencedDeclaration":10191,"src":"3415:20:39","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":14859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3415:44:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$10067","typeString":"Slice"}},"id":14860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3460:19:39","memberName":"decodeArray_bytes21","nodeType":"MemberAccess","referencedDeclaration":23756,"src":"3415:64:39","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":14861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3415:66:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"id":14862,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3414:68:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"functionReturnParameters":14823,"id":14863,"nodeType":"Return","src":"3407:75:39"}]},"documentation":{"id":14812,"nodeType":"StructuredDocumentation","src":"3081:33:39","text":" @notice Get hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"3126:3:39","parameters":{"id":14819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14815,"mutability":"mutable","name":"_tableId","nameLocation":"3141:8:39","nodeType":"VariableDeclaration","scope":14865,"src":"3130:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":14814,"nodeType":"UserDefinedTypeName","pathNode":{"id":14813,"name":"ResourceId","nameLocations":["3130:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"3130:10:39"},"referencedDeclaration":9486,"src":"3130:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":14818,"mutability":"mutable","name":"resourceId","nameLocation":"3162:10:39","nodeType":"VariableDeclaration","scope":14865,"src":"3151:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":14817,"nodeType":"UserDefinedTypeName","pathNode":{"id":14816,"name":"ResourceId","nameLocations":["3151:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"3151:10:39"},"referencedDeclaration":9486,"src":"3151:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"3129:44:39"},"returnParameters":{"id":14823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14822,"mutability":"mutable","name":"hooks","nameLocation":"3214:5:39","nodeType":"VariableDeclaration","scope":14865,"src":"3197:22:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":14820,"name":"bytes21","nodeType":"ElementaryTypeName","src":"3197:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":14821,"nodeType":"ArrayTypeName","src":"3197:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"3196:24:39"},"scope":16323,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14919,"nodeType":"FunctionDefinition","src":"3527:369:39","nodes":[],"body":{"id":14918,"nodeType":"Block","src":"3632:264:39","nodes":[],"statements":[{"assignments":[14882],"declarations":[{"constant":false,"id":14882,"mutability":"mutable","name":"_keyTuple","nameLocation":"3655:9:39","nodeType":"VariableDeclaration","scope":14918,"src":"3638:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14880,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3638:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14881,"nodeType":"ArrayTypeName","src":"3638:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":14888,"initialValue":{"arguments":[{"hexValue":"31","id":14886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3681:1:39","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":14885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3667:13:39","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":14883,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3671:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14884,"nodeType":"ArrayTypeName","src":"3671:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":14887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3667:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3638:45:39"},{"expression":{"id":14896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":14889,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14882,"src":"3689:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":14891,"indexExpression":{"hexValue":"30","id":14890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3699:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3689:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":14894,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14872,"src":"3722:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":14892,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"3704:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":14893,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3715:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"3704:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":14895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3704:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3689:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14897,"nodeType":"ExpressionStatement","src":"3689:44:39"},{"assignments":[14899],"declarations":[{"constant":false,"id":14899,"mutability":"mutable","name":"_blob","nameLocation":"3753:5:39","nodeType":"VariableDeclaration","scope":14918,"src":"3740:18:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14898,"name":"bytes","nodeType":"ElementaryTypeName","src":"3740:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":14906,"initialValue":{"arguments":[{"id":14902,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14869,"src":"3787:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":14903,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14882,"src":"3797:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":14904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3808:1:39","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":14900,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"3761:9:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":14901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3771:15:39","memberName":"getDynamicField","nodeType":"MemberAccess","referencedDeclaration":12517,"src":"3761:25:39","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":14905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3761:49:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3740:70:39"},{"expression":{"components":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":14909,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14899,"src":"3845:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":14910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3852:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":14911,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14899,"src":"3855:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":14912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3861:6:39","memberName":"length","nodeType":"MemberAccess","src":"3855:12:39","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":14907,"name":"SliceLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10192,"src":"3824:8:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SliceLib_$10192_$","typeString":"type(library SliceLib)"}},"id":14908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3833:11:39","memberName":"getSubslice","nodeType":"MemberAccess","referencedDeclaration":10191,"src":"3824:20:39","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":14913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3824:44:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$10067","typeString":"Slice"}},"id":14914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3869:19:39","memberName":"decodeArray_bytes21","nodeType":"MemberAccess","referencedDeclaration":23756,"src":"3824:64:39","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":14915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3824:66:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"id":14916,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3823:68:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"functionReturnParameters":14877,"id":14917,"nodeType":"Return","src":"3816:75:39"}]},"documentation":{"id":14866,"nodeType":"StructuredDocumentation","src":"3491:33:39","text":" @notice Get hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"_get","nameLocation":"3536:4:39","parameters":{"id":14873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14869,"mutability":"mutable","name":"_tableId","nameLocation":"3552:8:39","nodeType":"VariableDeclaration","scope":14919,"src":"3541:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":14868,"nodeType":"UserDefinedTypeName","pathNode":{"id":14867,"name":"ResourceId","nameLocations":["3541:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"3541:10:39"},"referencedDeclaration":9486,"src":"3541:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":14872,"mutability":"mutable","name":"resourceId","nameLocation":"3573:10:39","nodeType":"VariableDeclaration","scope":14919,"src":"3562:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":14871,"nodeType":"UserDefinedTypeName","pathNode":{"id":14870,"name":"ResourceId","nameLocations":["3562:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"3562:10:39"},"referencedDeclaration":9486,"src":"3562:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"3540:44:39"},"returnParameters":{"id":14877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14876,"mutability":"mutable","name":"hooks","nameLocation":"3625:5:39","nodeType":"VariableDeclaration","scope":14919,"src":"3608:22:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":14874,"name":"bytes21","nodeType":"ElementaryTypeName","src":"3608:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":14875,"nodeType":"ArrayTypeName","src":"3608:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"3607:24:39"},"scope":16323,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14966,"nodeType":"FunctionDefinition","src":"3936:288:39","nodes":[],"body":{"id":14965,"nodeType":"Block","src":"4031:193:39","nodes":[],"statements":[{"assignments":[14936],"declarations":[{"constant":false,"id":14936,"mutability":"mutable","name":"_keyTuple","nameLocation":"4054:9:39","nodeType":"VariableDeclaration","scope":14965,"src":"4037:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14934,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4037:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14935,"nodeType":"ArrayTypeName","src":"4037:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":14942,"initialValue":{"arguments":[{"hexValue":"31","id":14940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4080:1:39","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":14939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4066:13:39","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":14937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4070:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14938,"nodeType":"ArrayTypeName","src":"4070:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":14941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4066:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4037:45:39"},{"expression":{"id":14950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":14943,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14936,"src":"4088:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":14945,"indexExpression":{"hexValue":"30","id":14944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4098:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4088:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":14948,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14926,"src":"4121:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":14946,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"4103:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":14947,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4114:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"4103:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":14949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4103:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4088:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14951,"nodeType":"ExpressionStatement","src":"4088:44:39"},{"expression":{"arguments":[{"id":14955,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14923,"src":"4167:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":14956,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14936,"src":"4177:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":14957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4188:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"components":[{"id":14960,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14929,"src":"4211:5:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"id":14961,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4210:7:39","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":14958,"name":"EncodeArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26427,"src":"4191:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EncodeArray_$26427_$","typeString":"type(library EncodeArray)"}},"id":14959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4203:6:39","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26114,"src":"4191:18:39","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":14962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4191:27:39","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":14952,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"4139:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":14954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4151:15:39","memberName":"setDynamicField","nodeType":"MemberAccess","referencedDeclaration":13941,"src":"4139:27:39","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":14963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4139:80:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14964,"nodeType":"ExpressionStatement","src":"4139:80:39"}]},"documentation":{"id":14920,"nodeType":"StructuredDocumentation","src":"3900:33:39","text":" @notice Set hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"setHooks","nameLocation":"3945:8:39","parameters":{"id":14930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14923,"mutability":"mutable","name":"_tableId","nameLocation":"3965:8:39","nodeType":"VariableDeclaration","scope":14966,"src":"3954:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":14922,"nodeType":"UserDefinedTypeName","pathNode":{"id":14921,"name":"ResourceId","nameLocations":["3954:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"3954:10:39"},"referencedDeclaration":9486,"src":"3954:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":14926,"mutability":"mutable","name":"resourceId","nameLocation":"3986:10:39","nodeType":"VariableDeclaration","scope":14966,"src":"3975:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":14925,"nodeType":"UserDefinedTypeName","pathNode":{"id":14924,"name":"ResourceId","nameLocations":["3975:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"3975:10:39"},"referencedDeclaration":9486,"src":"3975:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":14929,"mutability":"mutable","name":"hooks","nameLocation":"4015:5:39","nodeType":"VariableDeclaration","scope":14966,"src":"3998:22:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":14927,"name":"bytes21","nodeType":"ElementaryTypeName","src":"3998:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":14928,"nodeType":"ArrayTypeName","src":"3998:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"3953:68:39"},"returnParameters":{"id":14931,"nodeType":"ParameterList","parameters":[],"src":"4031:0:39"},"scope":16323,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":15013,"nodeType":"FunctionDefinition","src":"4264:287:39","nodes":[],"body":{"id":15012,"nodeType":"Block","src":"4360:191:39","nodes":[],"statements":[{"assignments":[14983],"declarations":[{"constant":false,"id":14983,"mutability":"mutable","name":"_keyTuple","nameLocation":"4383:9:39","nodeType":"VariableDeclaration","scope":15012,"src":"4366:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14981,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4366:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14982,"nodeType":"ArrayTypeName","src":"4366:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":14989,"initialValue":{"arguments":[{"hexValue":"31","id":14987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4409:1:39","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":14986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4395:13:39","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":14984,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4399:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14985,"nodeType":"ArrayTypeName","src":"4399:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":14988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4395:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4366:45:39"},{"expression":{"id":14997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":14990,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14983,"src":"4417:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":14992,"indexExpression":{"hexValue":"30","id":14991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4427:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4417:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":14995,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14973,"src":"4450:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":14993,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"4432:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":14994,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4443:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"4432:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":14996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4432:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4417:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14998,"nodeType":"ExpressionStatement","src":"4417:44:39"},{"expression":{"arguments":[{"id":15002,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14970,"src":"4494:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15003,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14983,"src":"4504:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4515:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"components":[{"id":15007,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14976,"src":"4538:5:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"id":15008,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4537:7:39","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":15005,"name":"EncodeArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26427,"src":"4518:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EncodeArray_$26427_$","typeString":"type(library EncodeArray)"}},"id":15006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4530:6:39","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26114,"src":"4518:18:39","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":15009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4518:27:39","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":14999,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"4468:9:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":15001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4478:15:39","memberName":"setDynamicField","nodeType":"MemberAccess","referencedDeclaration":11947,"src":"4468:25:39","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":15010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4468:78:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15011,"nodeType":"ExpressionStatement","src":"4468:78:39"}]},"documentation":{"id":14967,"nodeType":"StructuredDocumentation","src":"4228:33:39","text":" @notice Set hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"_setHooks","nameLocation":"4273:9:39","parameters":{"id":14977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14970,"mutability":"mutable","name":"_tableId","nameLocation":"4294:8:39","nodeType":"VariableDeclaration","scope":15013,"src":"4283:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":14969,"nodeType":"UserDefinedTypeName","pathNode":{"id":14968,"name":"ResourceId","nameLocations":["4283:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"4283:10:39"},"referencedDeclaration":9486,"src":"4283:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":14973,"mutability":"mutable","name":"resourceId","nameLocation":"4315:10:39","nodeType":"VariableDeclaration","scope":15013,"src":"4304:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":14972,"nodeType":"UserDefinedTypeName","pathNode":{"id":14971,"name":"ResourceId","nameLocations":["4304:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"4304:10:39"},"referencedDeclaration":9486,"src":"4304:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":14976,"mutability":"mutable","name":"hooks","nameLocation":"4344:5:39","nodeType":"VariableDeclaration","scope":15013,"src":"4327:22:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":14974,"name":"bytes21","nodeType":"ElementaryTypeName","src":"4327:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":14975,"nodeType":"ArrayTypeName","src":"4327:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"4282:68:39"},"returnParameters":{"id":14978,"nodeType":"ParameterList","parameters":[],"src":"4360:0:39"},"scope":16323,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":15060,"nodeType":"FunctionDefinition","src":"4591:283:39","nodes":[],"body":{"id":15059,"nodeType":"Block","src":"4681:193:39","nodes":[],"statements":[{"assignments":[15030],"declarations":[{"constant":false,"id":15030,"mutability":"mutable","name":"_keyTuple","nameLocation":"4704:9:39","nodeType":"VariableDeclaration","scope":15059,"src":"4687:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15028,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4687:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15029,"nodeType":"ArrayTypeName","src":"4687:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":15036,"initialValue":{"arguments":[{"hexValue":"31","id":15034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4730:1:39","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":15033,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4716:13:39","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":15031,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4720:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15032,"nodeType":"ArrayTypeName","src":"4720:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":15035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4716:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4687:45:39"},{"expression":{"id":15044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":15037,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15030,"src":"4738:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15039,"indexExpression":{"hexValue":"30","id":15038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4748:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4738:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15042,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15020,"src":"4771:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":15040,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"4753:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":15041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4764:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"4753:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":15043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4753:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4738:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15045,"nodeType":"ExpressionStatement","src":"4738:44:39"},{"expression":{"arguments":[{"id":15049,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15017,"src":"4817:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15050,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15030,"src":"4827:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4838:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"components":[{"id":15054,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15023,"src":"4861:5:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"id":15055,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4860:7:39","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":15052,"name":"EncodeArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26427,"src":"4841:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EncodeArray_$26427_$","typeString":"type(library EncodeArray)"}},"id":15053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4853:6:39","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26114,"src":"4841:18:39","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":15056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4841:27:39","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":15046,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"4789:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":15048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4801:15:39","memberName":"setDynamicField","nodeType":"MemberAccess","referencedDeclaration":13941,"src":"4789:27:39","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":15057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4789:80:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15058,"nodeType":"ExpressionStatement","src":"4789:80:39"}]},"documentation":{"id":15014,"nodeType":"StructuredDocumentation","src":"4555:33:39","text":" @notice Set hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"set","nameLocation":"4600:3:39","parameters":{"id":15024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15017,"mutability":"mutable","name":"_tableId","nameLocation":"4615:8:39","nodeType":"VariableDeclaration","scope":15060,"src":"4604:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15016,"nodeType":"UserDefinedTypeName","pathNode":{"id":15015,"name":"ResourceId","nameLocations":["4604:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"4604:10:39"},"referencedDeclaration":9486,"src":"4604:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15020,"mutability":"mutable","name":"resourceId","nameLocation":"4636:10:39","nodeType":"VariableDeclaration","scope":15060,"src":"4625:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15019,"nodeType":"UserDefinedTypeName","pathNode":{"id":15018,"name":"ResourceId","nameLocations":["4625:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"4625:10:39"},"referencedDeclaration":9486,"src":"4625:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15023,"mutability":"mutable","name":"hooks","nameLocation":"4665:5:39","nodeType":"VariableDeclaration","scope":15060,"src":"4648:22:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":15021,"name":"bytes21","nodeType":"ElementaryTypeName","src":"4648:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":15022,"nodeType":"ArrayTypeName","src":"4648:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"4603:68:39"},"returnParameters":{"id":15025,"nodeType":"ParameterList","parameters":[],"src":"4681:0:39"},"scope":16323,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":15107,"nodeType":"FunctionDefinition","src":"4914:282:39","nodes":[],"body":{"id":15106,"nodeType":"Block","src":"5005:191:39","nodes":[],"statements":[{"assignments":[15077],"declarations":[{"constant":false,"id":15077,"mutability":"mutable","name":"_keyTuple","nameLocation":"5028:9:39","nodeType":"VariableDeclaration","scope":15106,"src":"5011:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15075,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5011:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15076,"nodeType":"ArrayTypeName","src":"5011:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":15083,"initialValue":{"arguments":[{"hexValue":"31","id":15081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5054:1:39","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":15080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5040:13:39","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":15078,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5044:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15079,"nodeType":"ArrayTypeName","src":"5044:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":15082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5040:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5011:45:39"},{"expression":{"id":15091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":15084,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15077,"src":"5062:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15086,"indexExpression":{"hexValue":"30","id":15085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5072:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5062:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15089,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15067,"src":"5095:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":15087,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"5077:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":15088,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5088:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"5077:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":15090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5077:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5062:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15092,"nodeType":"ExpressionStatement","src":"5062:44:39"},{"expression":{"arguments":[{"id":15096,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15064,"src":"5139:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15097,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15077,"src":"5149:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5160:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"components":[{"id":15101,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15070,"src":"5183:5:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"id":15102,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5182:7:39","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":15099,"name":"EncodeArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26427,"src":"5163:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EncodeArray_$26427_$","typeString":"type(library EncodeArray)"}},"id":15100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5175:6:39","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26114,"src":"5163:18:39","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":15103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5163:27:39","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":15093,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"5113:9:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":15095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5123:15:39","memberName":"setDynamicField","nodeType":"MemberAccess","referencedDeclaration":11947,"src":"5113:25:39","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":15104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5113:78:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15105,"nodeType":"ExpressionStatement","src":"5113:78:39"}]},"documentation":{"id":15061,"nodeType":"StructuredDocumentation","src":"4878:33:39","text":" @notice Set hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"_set","nameLocation":"4923:4:39","parameters":{"id":15071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15064,"mutability":"mutable","name":"_tableId","nameLocation":"4939:8:39","nodeType":"VariableDeclaration","scope":15107,"src":"4928:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15063,"nodeType":"UserDefinedTypeName","pathNode":{"id":15062,"name":"ResourceId","nameLocations":["4928:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"4928:10:39"},"referencedDeclaration":9486,"src":"4928:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15067,"mutability":"mutable","name":"resourceId","nameLocation":"4960:10:39","nodeType":"VariableDeclaration","scope":15107,"src":"4949:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15066,"nodeType":"UserDefinedTypeName","pathNode":{"id":15065,"name":"ResourceId","nameLocations":["4949:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"4949:10:39"},"referencedDeclaration":9486,"src":"4949:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15070,"mutability":"mutable","name":"hooks","nameLocation":"4989:5:39","nodeType":"VariableDeclaration","scope":15107,"src":"4972:22:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":15068,"name":"bytes21","nodeType":"ElementaryTypeName","src":"4972:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":15069,"nodeType":"ArrayTypeName","src":"4972:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"4927:68:39"},"returnParameters":{"id":15072,"nodeType":"ParameterList","parameters":[],"src":"5005:0:39"},"scope":16323,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":15154,"nodeType":"FunctionDefinition","src":"5250:342:39","nodes":[],"body":{"id":15153,"nodeType":"Block","src":"5347:245:39","nodes":[],"statements":[{"assignments":[15123],"declarations":[{"constant":false,"id":15123,"mutability":"mutable","name":"_keyTuple","nameLocation":"5370:9:39","nodeType":"VariableDeclaration","scope":15153,"src":"5353:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15121,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5353:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15122,"nodeType":"ArrayTypeName","src":"5353:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":15129,"initialValue":{"arguments":[{"hexValue":"31","id":15127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5396:1:39","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":15126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5382:13:39","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":15124,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5386:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15125,"nodeType":"ArrayTypeName","src":"5386:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":15128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5382:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5353:45:39"},{"expression":{"id":15137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":15130,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15123,"src":"5404:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15132,"indexExpression":{"hexValue":"30","id":15131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5414:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5404:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15135,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15114,"src":"5437:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":15133,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"5419:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":15134,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5430:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"5419:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":15136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5419:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5404:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15138,"nodeType":"ExpressionStatement","src":"5404:44:39"},{"assignments":[15140],"declarations":[{"constant":false,"id":15140,"mutability":"mutable","name":"_byteLength","nameLocation":"5463:11:39","nodeType":"VariableDeclaration","scope":15153,"src":"5455:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15139,"name":"uint256","nodeType":"ElementaryTypeName","src":"5455:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15147,"initialValue":{"arguments":[{"id":15143,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15111,"src":"5511:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15144,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15123,"src":"5521:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5532:1:39","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":15141,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"5477:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":15142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5489:21:39","memberName":"getDynamicFieldLength","nodeType":"MemberAccess","referencedDeclaration":14504,"src":"5477:33:39","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":15146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5477:57:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5455:79:39"},{"id":15152,"nodeType":"UncheckedBlock","src":"5540:48:39","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15148,"name":"_byteLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15140,"src":"5565:11:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3231","id":15149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5579:2:39","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"5565:16:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15118,"id":15151,"nodeType":"Return","src":"5558:23:39"}]}]},"documentation":{"id":15108,"nodeType":"StructuredDocumentation","src":"5200:47:39","text":" @notice Get the length of hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"lengthHooks","nameLocation":"5259:11:39","parameters":{"id":15115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15111,"mutability":"mutable","name":"_tableId","nameLocation":"5282:8:39","nodeType":"VariableDeclaration","scope":15154,"src":"5271:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15110,"nodeType":"UserDefinedTypeName","pathNode":{"id":15109,"name":"ResourceId","nameLocations":["5271:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"5271:10:39"},"referencedDeclaration":9486,"src":"5271:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15114,"mutability":"mutable","name":"resourceId","nameLocation":"5303:10:39","nodeType":"VariableDeclaration","scope":15154,"src":"5292:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15113,"nodeType":"UserDefinedTypeName","pathNode":{"id":15112,"name":"ResourceId","nameLocations":["5292:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"5292:10:39"},"referencedDeclaration":9486,"src":"5292:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"5270:44:39"},"returnParameters":{"id":15118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15117,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15154,"src":"5338:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15116,"name":"uint256","nodeType":"ElementaryTypeName","src":"5338:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5337:9:39"},"scope":16323,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15201,"nodeType":"FunctionDefinition","src":"5646:341:39","nodes":[],"body":{"id":15200,"nodeType":"Block","src":"5744:243:39","nodes":[],"statements":[{"assignments":[15170],"declarations":[{"constant":false,"id":15170,"mutability":"mutable","name":"_keyTuple","nameLocation":"5767:9:39","nodeType":"VariableDeclaration","scope":15200,"src":"5750:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15168,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5750:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15169,"nodeType":"ArrayTypeName","src":"5750:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":15176,"initialValue":{"arguments":[{"hexValue":"31","id":15174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5793:1:39","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":15173,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5779:13:39","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":15171,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5783:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15172,"nodeType":"ArrayTypeName","src":"5783:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":15175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5779:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5750:45:39"},{"expression":{"id":15184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":15177,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15170,"src":"5801:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15179,"indexExpression":{"hexValue":"30","id":15178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5811:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5801:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15182,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15161,"src":"5834:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":15180,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"5816:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":15181,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5827:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"5816:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":15183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5816:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5801:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15185,"nodeType":"ExpressionStatement","src":"5801:44:39"},{"assignments":[15187],"declarations":[{"constant":false,"id":15187,"mutability":"mutable","name":"_byteLength","nameLocation":"5860:11:39","nodeType":"VariableDeclaration","scope":15200,"src":"5852:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15186,"name":"uint256","nodeType":"ElementaryTypeName","src":"5852:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15194,"initialValue":{"arguments":[{"id":15190,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15158,"src":"5906:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15191,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15170,"src":"5916:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5927:1:39","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":15188,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"5874:9:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":15189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5884:21:39","memberName":"getDynamicFieldLength","nodeType":"MemberAccess","referencedDeclaration":12611,"src":"5874:31:39","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":15193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5874:55:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5852:77:39"},{"id":15199,"nodeType":"UncheckedBlock","src":"5935:48:39","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15195,"name":"_byteLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15187,"src":"5960:11:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3231","id":15196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5974:2:39","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"5960:16:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15165,"id":15198,"nodeType":"Return","src":"5953:23:39"}]}]},"documentation":{"id":15155,"nodeType":"StructuredDocumentation","src":"5596:47:39","text":" @notice Get the length of hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"_lengthHooks","nameLocation":"5655:12:39","parameters":{"id":15162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15158,"mutability":"mutable","name":"_tableId","nameLocation":"5679:8:39","nodeType":"VariableDeclaration","scope":15201,"src":"5668:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15157,"nodeType":"UserDefinedTypeName","pathNode":{"id":15156,"name":"ResourceId","nameLocations":["5668:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"5668:10:39"},"referencedDeclaration":9486,"src":"5668:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15161,"mutability":"mutable","name":"resourceId","nameLocation":"5700:10:39","nodeType":"VariableDeclaration","scope":15201,"src":"5689:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15160,"nodeType":"UserDefinedTypeName","pathNode":{"id":15159,"name":"ResourceId","nameLocations":["5689:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"5689:10:39"},"referencedDeclaration":9486,"src":"5689:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"5667:44:39"},"returnParameters":{"id":15165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15164,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15201,"src":"5735:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15163,"name":"uint256","nodeType":"ElementaryTypeName","src":"5735:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5734:9:39"},"scope":16323,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15248,"nodeType":"FunctionDefinition","src":"6041:337:39","nodes":[],"body":{"id":15247,"nodeType":"Block","src":"6133:245:39","nodes":[],"statements":[{"assignments":[15217],"declarations":[{"constant":false,"id":15217,"mutability":"mutable","name":"_keyTuple","nameLocation":"6156:9:39","nodeType":"VariableDeclaration","scope":15247,"src":"6139:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15215,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6139:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15216,"nodeType":"ArrayTypeName","src":"6139:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":15223,"initialValue":{"arguments":[{"hexValue":"31","id":15221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6182:1:39","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":15220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6168:13:39","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":15218,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6172:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15219,"nodeType":"ArrayTypeName","src":"6172:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":15222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6168:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6139:45:39"},{"expression":{"id":15231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":15224,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15217,"src":"6190:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15226,"indexExpression":{"hexValue":"30","id":15225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6200:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6190:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15229,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15208,"src":"6223:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":15227,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"6205:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":15228,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6216:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"6205:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":15230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6205:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6190:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15232,"nodeType":"ExpressionStatement","src":"6190:44:39"},{"assignments":[15234],"declarations":[{"constant":false,"id":15234,"mutability":"mutable","name":"_byteLength","nameLocation":"6249:11:39","nodeType":"VariableDeclaration","scope":15247,"src":"6241:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15233,"name":"uint256","nodeType":"ElementaryTypeName","src":"6241:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15241,"initialValue":{"arguments":[{"id":15237,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15205,"src":"6297:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15238,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15217,"src":"6307:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6318:1:39","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":15235,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"6263:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":15236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6275:21:39","memberName":"getDynamicFieldLength","nodeType":"MemberAccess","referencedDeclaration":14504,"src":"6263:33:39","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":15240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6263:57:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6241:79:39"},{"id":15246,"nodeType":"UncheckedBlock","src":"6326:48:39","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15242,"name":"_byteLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15234,"src":"6351:11:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3231","id":15243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6365:2:39","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"6351:16:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15212,"id":15245,"nodeType":"Return","src":"6344:23:39"}]}]},"documentation":{"id":15202,"nodeType":"StructuredDocumentation","src":"5991:47:39","text":" @notice Get the length of hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"6050:6:39","parameters":{"id":15209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15205,"mutability":"mutable","name":"_tableId","nameLocation":"6068:8:39","nodeType":"VariableDeclaration","scope":15248,"src":"6057:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15204,"nodeType":"UserDefinedTypeName","pathNode":{"id":15203,"name":"ResourceId","nameLocations":["6057:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"6057:10:39"},"referencedDeclaration":9486,"src":"6057:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15208,"mutability":"mutable","name":"resourceId","nameLocation":"6089:10:39","nodeType":"VariableDeclaration","scope":15248,"src":"6078:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15207,"nodeType":"UserDefinedTypeName","pathNode":{"id":15206,"name":"ResourceId","nameLocations":["6078:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"6078:10:39"},"referencedDeclaration":9486,"src":"6078:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"6056:44:39"},"returnParameters":{"id":15212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15211,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15248,"src":"6124:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15210,"name":"uint256","nodeType":"ElementaryTypeName","src":"6124:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6123:9:39"},"scope":16323,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15295,"nodeType":"FunctionDefinition","src":"6432:336:39","nodes":[],"body":{"id":15294,"nodeType":"Block","src":"6525:243:39","nodes":[],"statements":[{"assignments":[15264],"declarations":[{"constant":false,"id":15264,"mutability":"mutable","name":"_keyTuple","nameLocation":"6548:9:39","nodeType":"VariableDeclaration","scope":15294,"src":"6531:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15262,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6531:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15263,"nodeType":"ArrayTypeName","src":"6531:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":15270,"initialValue":{"arguments":[{"hexValue":"31","id":15268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6574:1:39","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":15267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6560:13:39","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":15265,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6564:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15266,"nodeType":"ArrayTypeName","src":"6564:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":15269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6560:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6531:45:39"},{"expression":{"id":15278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":15271,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15264,"src":"6582:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15273,"indexExpression":{"hexValue":"30","id":15272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6592:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6582:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15276,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15255,"src":"6615:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":15274,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"6597:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":15275,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6608:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"6597:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":15277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6597:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6582:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15279,"nodeType":"ExpressionStatement","src":"6582:44:39"},{"assignments":[15281],"declarations":[{"constant":false,"id":15281,"mutability":"mutable","name":"_byteLength","nameLocation":"6641:11:39","nodeType":"VariableDeclaration","scope":15294,"src":"6633:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15280,"name":"uint256","nodeType":"ElementaryTypeName","src":"6633:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15288,"initialValue":{"arguments":[{"id":15284,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15252,"src":"6687:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15285,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15264,"src":"6697:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6708:1:39","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":15282,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"6655:9:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":15283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6665:21:39","memberName":"getDynamicFieldLength","nodeType":"MemberAccess","referencedDeclaration":12611,"src":"6655:31:39","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":15287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6655:55:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6633:77:39"},{"id":15293,"nodeType":"UncheckedBlock","src":"6716:48:39","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15289,"name":"_byteLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15281,"src":"6741:11:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3231","id":15290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6755:2:39","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"6741:16:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15259,"id":15292,"nodeType":"Return","src":"6734:23:39"}]}]},"documentation":{"id":15249,"nodeType":"StructuredDocumentation","src":"6382:47:39","text":" @notice Get the length of hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"_length","nameLocation":"6441:7:39","parameters":{"id":15256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15252,"mutability":"mutable","name":"_tableId","nameLocation":"6460:8:39","nodeType":"VariableDeclaration","scope":15295,"src":"6449:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15251,"nodeType":"UserDefinedTypeName","pathNode":{"id":15250,"name":"ResourceId","nameLocations":["6449:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"6449:10:39"},"referencedDeclaration":9486,"src":"6449:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15255,"mutability":"mutable","name":"resourceId","nameLocation":"6481:10:39","nodeType":"VariableDeclaration","scope":15295,"src":"6470:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15254,"nodeType":"UserDefinedTypeName","pathNode":{"id":15253,"name":"ResourceId","nameLocations":["6470:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"6470:10:39"},"referencedDeclaration":9486,"src":"6470:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"6448:44:39"},"returnParameters":{"id":15259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15258,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15295,"src":"6516:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15257,"name":"uint256","nodeType":"ElementaryTypeName","src":"6516:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6515:9:39"},"scope":16323,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15355,"nodeType":"FunctionDefinition","src":"6909:391:39","nodes":[],"body":{"id":15354,"nodeType":"Block","src":"7023:277:39","nodes":[],"statements":[{"assignments":[15313],"declarations":[{"constant":false,"id":15313,"mutability":"mutable","name":"_keyTuple","nameLocation":"7046:9:39","nodeType":"VariableDeclaration","scope":15354,"src":"7029:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15311,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7029:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15312,"nodeType":"ArrayTypeName","src":"7029:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":15319,"initialValue":{"arguments":[{"hexValue":"31","id":15317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7072:1:39","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":15316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7058:13:39","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":15314,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7062:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15315,"nodeType":"ArrayTypeName","src":"7062:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":15318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7058:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7029:45:39"},{"expression":{"id":15327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":15320,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15313,"src":"7080:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15322,"indexExpression":{"hexValue":"30","id":15321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7090:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7080:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15325,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15302,"src":"7113:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":15323,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"7095:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":15324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7106:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"7095:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":15326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7095:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7080:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15328,"nodeType":"ExpressionStatement","src":"7080:44:39"},{"id":15353,"nodeType":"UncheckedBlock","src":"7131:165:39","statements":[{"assignments":[15330],"declarations":[{"constant":false,"id":15330,"mutability":"mutable","name":"_blob","nameLocation":"7162:5:39","nodeType":"VariableDeclaration","scope":15353,"src":"7149:18:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15329,"name":"bytes","nodeType":"ElementaryTypeName","src":"7149:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":15346,"initialValue":{"arguments":[{"id":15333,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15299,"src":"7203:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15334,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15313,"src":"7213:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7224:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15336,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15304,"src":"7227:6:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":15337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7236:2:39","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"7227:11:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15339,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15304,"src":"7241:6:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":15340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7250:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7241:10:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":15342,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7240:12:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":15343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7255:2:39","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"7240:17:39","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":15331,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"7170:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":15332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7182:20:39","memberName":"getDynamicFieldSlice","nodeType":"MemberAccess","referencedDeclaration":14557,"src":"7170:32:39","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":15345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7170:88:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7149:109:39"},{"expression":{"components":[{"arguments":[{"id":15349,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15330,"src":"7282:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15348,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7274:7:39","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes21_$","typeString":"type(bytes21)"},"typeName":{"id":15347,"name":"bytes21","nodeType":"ElementaryTypeName","src":"7274:7:39","typeDescriptions":{}}},"id":15350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7274:14:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":15351,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7273:16:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"functionReturnParameters":15308,"id":15352,"nodeType":"Return","src":"7266:23:39"}]}]},"documentation":{"id":15296,"nodeType":"StructuredDocumentation","src":"6772:134:39","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":"6918:12:39","parameters":{"id":15305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15299,"mutability":"mutable","name":"_tableId","nameLocation":"6942:8:39","nodeType":"VariableDeclaration","scope":15355,"src":"6931:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15298,"nodeType":"UserDefinedTypeName","pathNode":{"id":15297,"name":"ResourceId","nameLocations":["6931:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"6931:10:39"},"referencedDeclaration":9486,"src":"6931:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15302,"mutability":"mutable","name":"resourceId","nameLocation":"6963:10:39","nodeType":"VariableDeclaration","scope":15355,"src":"6952:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15301,"nodeType":"UserDefinedTypeName","pathNode":{"id":15300,"name":"ResourceId","nameLocations":["6952:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"6952:10:39"},"referencedDeclaration":9486,"src":"6952:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15304,"mutability":"mutable","name":"_index","nameLocation":"6983:6:39","nodeType":"VariableDeclaration","scope":15355,"src":"6975:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15303,"name":"uint256","nodeType":"ElementaryTypeName","src":"6975:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6930:60:39"},"returnParameters":{"id":15308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15307,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15355,"src":"7014:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":15306,"name":"bytes21","nodeType":"ElementaryTypeName","src":"7014:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"7013:9:39"},"scope":16323,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15415,"nodeType":"FunctionDefinition","src":"7441:390:39","nodes":[],"body":{"id":15414,"nodeType":"Block","src":"7556:275:39","nodes":[],"statements":[{"assignments":[15373],"declarations":[{"constant":false,"id":15373,"mutability":"mutable","name":"_keyTuple","nameLocation":"7579:9:39","nodeType":"VariableDeclaration","scope":15414,"src":"7562:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15371,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7562:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15372,"nodeType":"ArrayTypeName","src":"7562:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":15379,"initialValue":{"arguments":[{"hexValue":"31","id":15377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7605:1:39","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":15376,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7591:13:39","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":15374,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7595:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15375,"nodeType":"ArrayTypeName","src":"7595:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":15378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7591:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7562:45:39"},{"expression":{"id":15387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":15380,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15373,"src":"7613:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15382,"indexExpression":{"hexValue":"30","id":15381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7623:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7613:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15385,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15362,"src":"7646:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":15383,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"7628:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":15384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7639:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"7628:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":15386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7628:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7613:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15388,"nodeType":"ExpressionStatement","src":"7613:44:39"},{"id":15413,"nodeType":"UncheckedBlock","src":"7664:163:39","statements":[{"assignments":[15390],"declarations":[{"constant":false,"id":15390,"mutability":"mutable","name":"_blob","nameLocation":"7695:5:39","nodeType":"VariableDeclaration","scope":15413,"src":"7682:18:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15389,"name":"bytes","nodeType":"ElementaryTypeName","src":"7682:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":15406,"initialValue":{"arguments":[{"id":15393,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15359,"src":"7734:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15394,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15373,"src":"7744:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7755:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15396,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15364,"src":"7758:6:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":15397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7767:2:39","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"7758:11:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15399,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15364,"src":"7772:6:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":15400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7781:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7772:10:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":15402,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7771:12:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":15403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7786:2:39","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"7771:17:39","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":15391,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"7703:9:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":15392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7713:20:39","memberName":"getDynamicFieldSlice","nodeType":"MemberAccess","referencedDeclaration":12700,"src":"7703:30:39","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":15405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7703:86:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7682:107:39"},{"expression":{"components":[{"arguments":[{"id":15409,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15390,"src":"7813:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15408,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7805:7:39","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes21_$","typeString":"type(bytes21)"},"typeName":{"id":15407,"name":"bytes21","nodeType":"ElementaryTypeName","src":"7805:7:39","typeDescriptions":{}}},"id":15410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7805:14:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":15411,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7804:16:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"functionReturnParameters":15368,"id":15412,"nodeType":"Return","src":"7797:23:39"}]}]},"documentation":{"id":15356,"nodeType":"StructuredDocumentation","src":"7304:134:39","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":"7450:13:39","parameters":{"id":15365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15359,"mutability":"mutable","name":"_tableId","nameLocation":"7475:8:39","nodeType":"VariableDeclaration","scope":15415,"src":"7464:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15358,"nodeType":"UserDefinedTypeName","pathNode":{"id":15357,"name":"ResourceId","nameLocations":["7464:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"7464:10:39"},"referencedDeclaration":9486,"src":"7464:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15362,"mutability":"mutable","name":"resourceId","nameLocation":"7496:10:39","nodeType":"VariableDeclaration","scope":15415,"src":"7485:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15361,"nodeType":"UserDefinedTypeName","pathNode":{"id":15360,"name":"ResourceId","nameLocations":["7485:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"7485:10:39"},"referencedDeclaration":9486,"src":"7485:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15364,"mutability":"mutable","name":"_index","nameLocation":"7516:6:39","nodeType":"VariableDeclaration","scope":15415,"src":"7508:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15363,"name":"uint256","nodeType":"ElementaryTypeName","src":"7508:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7463:60:39"},"returnParameters":{"id":15368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15367,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15415,"src":"7547:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":15366,"name":"bytes21","nodeType":"ElementaryTypeName","src":"7547:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"7546:9:39"},"scope":16323,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15475,"nodeType":"FunctionDefinition","src":"7972:386:39","nodes":[],"body":{"id":15474,"nodeType":"Block","src":"8081:277:39","nodes":[],"statements":[{"assignments":[15433],"declarations":[{"constant":false,"id":15433,"mutability":"mutable","name":"_keyTuple","nameLocation":"8104:9:39","nodeType":"VariableDeclaration","scope":15474,"src":"8087:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8087:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15432,"nodeType":"ArrayTypeName","src":"8087:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":15439,"initialValue":{"arguments":[{"hexValue":"31","id":15437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8130:1:39","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":15436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8116:13:39","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":15434,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8120:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15435,"nodeType":"ArrayTypeName","src":"8120:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":15438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8116:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"8087:45:39"},{"expression":{"id":15447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":15440,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15433,"src":"8138:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15442,"indexExpression":{"hexValue":"30","id":15441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8148:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8138:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15445,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15422,"src":"8171:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":15443,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"8153:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":15444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8164:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"8153:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":15446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8153:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"8138:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15448,"nodeType":"ExpressionStatement","src":"8138:44:39"},{"id":15473,"nodeType":"UncheckedBlock","src":"8189:165:39","statements":[{"assignments":[15450],"declarations":[{"constant":false,"id":15450,"mutability":"mutable","name":"_blob","nameLocation":"8220:5:39","nodeType":"VariableDeclaration","scope":15473,"src":"8207:18:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15449,"name":"bytes","nodeType":"ElementaryTypeName","src":"8207:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":15466,"initialValue":{"arguments":[{"id":15453,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15419,"src":"8261:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15454,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15433,"src":"8271:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8282:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15456,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15424,"src":"8285:6:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":15457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8294:2:39","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"8285:11:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15459,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15424,"src":"8299:6:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":15460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8308:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8299:10:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":15462,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8298:12:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":15463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8313:2:39","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"8298:17:39","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":15451,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"8228:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":15452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8240:20:39","memberName":"getDynamicFieldSlice","nodeType":"MemberAccess","referencedDeclaration":14557,"src":"8228:32:39","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":15465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8228:88:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8207:109:39"},{"expression":{"components":[{"arguments":[{"id":15469,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15450,"src":"8340:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15468,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8332:7:39","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes21_$","typeString":"type(bytes21)"},"typeName":{"id":15467,"name":"bytes21","nodeType":"ElementaryTypeName","src":"8332:7:39","typeDescriptions":{}}},"id":15470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8332:14:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":15471,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8331:16:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"functionReturnParameters":15428,"id":15472,"nodeType":"Return","src":"8324:23:39"}]}]},"documentation":{"id":15416,"nodeType":"StructuredDocumentation","src":"7835:134:39","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":"7981:7:39","parameters":{"id":15425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15419,"mutability":"mutable","name":"_tableId","nameLocation":"8000:8:39","nodeType":"VariableDeclaration","scope":15475,"src":"7989:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15418,"nodeType":"UserDefinedTypeName","pathNode":{"id":15417,"name":"ResourceId","nameLocations":["7989:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"7989:10:39"},"referencedDeclaration":9486,"src":"7989:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15422,"mutability":"mutable","name":"resourceId","nameLocation":"8021:10:39","nodeType":"VariableDeclaration","scope":15475,"src":"8010:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15421,"nodeType":"UserDefinedTypeName","pathNode":{"id":15420,"name":"ResourceId","nameLocations":["8010:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"8010:10:39"},"referencedDeclaration":9486,"src":"8010:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15424,"mutability":"mutable","name":"_index","nameLocation":"8041:6:39","nodeType":"VariableDeclaration","scope":15475,"src":"8033:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15423,"name":"uint256","nodeType":"ElementaryTypeName","src":"8033:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7988:60:39"},"returnParameters":{"id":15428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15427,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15475,"src":"8072:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":15426,"name":"bytes21","nodeType":"ElementaryTypeName","src":"8072:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"8071:9:39"},"scope":16323,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15535,"nodeType":"FunctionDefinition","src":"8499:385:39","nodes":[],"body":{"id":15534,"nodeType":"Block","src":"8609:275:39","nodes":[],"statements":[{"assignments":[15493],"declarations":[{"constant":false,"id":15493,"mutability":"mutable","name":"_keyTuple","nameLocation":"8632:9:39","nodeType":"VariableDeclaration","scope":15534,"src":"8615:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15491,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8615:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15492,"nodeType":"ArrayTypeName","src":"8615:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":15499,"initialValue":{"arguments":[{"hexValue":"31","id":15497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8658:1:39","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":15496,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8644:13:39","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":15494,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8648:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15495,"nodeType":"ArrayTypeName","src":"8648:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":15498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8644:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"8615:45:39"},{"expression":{"id":15507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":15500,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15493,"src":"8666:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15502,"indexExpression":{"hexValue":"30","id":15501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8676:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8666:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15505,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15482,"src":"8699:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":15503,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"8681:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":15504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8692:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"8681:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":15506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8681:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"8666:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15508,"nodeType":"ExpressionStatement","src":"8666:44:39"},{"id":15533,"nodeType":"UncheckedBlock","src":"8717:163:39","statements":[{"assignments":[15510],"declarations":[{"constant":false,"id":15510,"mutability":"mutable","name":"_blob","nameLocation":"8748:5:39","nodeType":"VariableDeclaration","scope":15533,"src":"8735:18:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15509,"name":"bytes","nodeType":"ElementaryTypeName","src":"8735:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":15526,"initialValue":{"arguments":[{"id":15513,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15479,"src":"8787:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15514,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15493,"src":"8797:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8808:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15516,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15484,"src":"8811:6:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":15517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8820:2:39","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"8811:11:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15519,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15484,"src":"8825:6:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":15520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8834:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8825:10:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":15522,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8824:12:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":15523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8839:2:39","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"8824:17:39","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":15511,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"8756:9:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":15512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8766:20:39","memberName":"getDynamicFieldSlice","nodeType":"MemberAccess","referencedDeclaration":12700,"src":"8756:30:39","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":15525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8756:86:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8735:107:39"},{"expression":{"components":[{"arguments":[{"id":15529,"name":"_blob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15510,"src":"8866:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15528,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8858:7:39","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes21_$","typeString":"type(bytes21)"},"typeName":{"id":15527,"name":"bytes21","nodeType":"ElementaryTypeName","src":"8858:7:39","typeDescriptions":{}}},"id":15530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8858:14:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":15531,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8857:16:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"functionReturnParameters":15488,"id":15532,"nodeType":"Return","src":"8850:23:39"}]}]},"documentation":{"id":15476,"nodeType":"StructuredDocumentation","src":"8362:134:39","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":"8508:8:39","parameters":{"id":15485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15479,"mutability":"mutable","name":"_tableId","nameLocation":"8528:8:39","nodeType":"VariableDeclaration","scope":15535,"src":"8517:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15478,"nodeType":"UserDefinedTypeName","pathNode":{"id":15477,"name":"ResourceId","nameLocations":["8517:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"8517:10:39"},"referencedDeclaration":9486,"src":"8517:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15482,"mutability":"mutable","name":"resourceId","nameLocation":"8549:10:39","nodeType":"VariableDeclaration","scope":15535,"src":"8538:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15481,"nodeType":"UserDefinedTypeName","pathNode":{"id":15480,"name":"ResourceId","nameLocations":["8538:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"8538:10:39"},"referencedDeclaration":9486,"src":"8538:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15484,"mutability":"mutable","name":"_index","nameLocation":"8569:6:39","nodeType":"VariableDeclaration","scope":15535,"src":"8561:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15483,"name":"uint256","nodeType":"ElementaryTypeName","src":"8561:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8516:60:39"},"returnParameters":{"id":15488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15487,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15535,"src":"8600:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":15486,"name":"bytes21","nodeType":"ElementaryTypeName","src":"8600:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"8599:9:39"},"scope":16323,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15581,"nodeType":"FunctionDefinition","src":"8939:287:39","nodes":[],"body":{"id":15580,"nodeType":"Block","src":"9029:197:39","nodes":[],"statements":[{"assignments":[15551],"declarations":[{"constant":false,"id":15551,"mutability":"mutable","name":"_keyTuple","nameLocation":"9052:9:39","nodeType":"VariableDeclaration","scope":15580,"src":"9035:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15549,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9035:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15550,"nodeType":"ArrayTypeName","src":"9035:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":15557,"initialValue":{"arguments":[{"hexValue":"31","id":15555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9078:1:39","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":15554,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9064:13:39","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":15552,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9068:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15553,"nodeType":"ArrayTypeName","src":"9068:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":15556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9064:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9035:45:39"},{"expression":{"id":15565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":15558,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15551,"src":"9086:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15560,"indexExpression":{"hexValue":"30","id":15559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9096:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9086:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15563,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15542,"src":"9119:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":15561,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"9101:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":15562,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9112:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"9101:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":15564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9101:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9086:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15566,"nodeType":"ExpressionStatement","src":"9086:44:39"},{"expression":{"arguments":[{"id":15570,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15539,"src":"9168:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15571,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15551,"src":"9178:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9189:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"components":[{"id":15575,"name":"_element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15544,"src":"9210:8:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":15576,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9209:10:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":15573,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9192:3:39","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9196:12:39","memberName":"encodePacked","nodeType":"MemberAccess","src":"9192:16:39","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":15577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9192:28:39","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":15567,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"9137:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":15569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9149:18:39","memberName":"pushToDynamicField","nodeType":"MemberAccess","referencedDeclaration":13989,"src":"9137:30:39","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":15578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9137:84:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15579,"nodeType":"ExpressionStatement","src":"9137:84:39"}]},"documentation":{"id":15536,"nodeType":"StructuredDocumentation","src":"8888:48:39","text":" @notice Push an element to hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"pushHooks","nameLocation":"8948:9:39","parameters":{"id":15545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15539,"mutability":"mutable","name":"_tableId","nameLocation":"8969:8:39","nodeType":"VariableDeclaration","scope":15581,"src":"8958:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15538,"nodeType":"UserDefinedTypeName","pathNode":{"id":15537,"name":"ResourceId","nameLocations":["8958:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"8958:10:39"},"referencedDeclaration":9486,"src":"8958:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15542,"mutability":"mutable","name":"resourceId","nameLocation":"8990:10:39","nodeType":"VariableDeclaration","scope":15581,"src":"8979:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15541,"nodeType":"UserDefinedTypeName","pathNode":{"id":15540,"name":"ResourceId","nameLocations":["8979:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"8979:10:39"},"referencedDeclaration":9486,"src":"8979:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15544,"mutability":"mutable","name":"_element","nameLocation":"9010:8:39","nodeType":"VariableDeclaration","scope":15581,"src":"9002:16:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":15543,"name":"bytes21","nodeType":"ElementaryTypeName","src":"9002:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"8957:62:39"},"returnParameters":{"id":15546,"nodeType":"ParameterList","parameters":[],"src":"9029:0:39"},"scope":16323,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":15627,"nodeType":"FunctionDefinition","src":"9281:286:39","nodes":[],"body":{"id":15626,"nodeType":"Block","src":"9372:195:39","nodes":[],"statements":[{"assignments":[15597],"declarations":[{"constant":false,"id":15597,"mutability":"mutable","name":"_keyTuple","nameLocation":"9395:9:39","nodeType":"VariableDeclaration","scope":15626,"src":"9378:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15595,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9378:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15596,"nodeType":"ArrayTypeName","src":"9378:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":15603,"initialValue":{"arguments":[{"hexValue":"31","id":15601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9421:1:39","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":15600,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9407:13:39","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":15598,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9411:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15599,"nodeType":"ArrayTypeName","src":"9411:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":15602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9407:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9378:45:39"},{"expression":{"id":15611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":15604,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15597,"src":"9429:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15606,"indexExpression":{"hexValue":"30","id":15605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9439:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9429:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15609,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15588,"src":"9462:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":15607,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"9444:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":15608,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9455:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"9444:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":15610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9444:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9429:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15612,"nodeType":"ExpressionStatement","src":"9429:44:39"},{"expression":{"arguments":[{"id":15616,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15585,"src":"9509:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15617,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15597,"src":"9519:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9530:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"components":[{"id":15621,"name":"_element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15590,"src":"9551:8:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":15622,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9550:10:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":15619,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9533:3:39","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15620,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9537:12:39","memberName":"encodePacked","nodeType":"MemberAccess","src":"9533:16:39","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":15623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9533:28:39","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":15613,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"9480:9:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":15615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9490:18:39","memberName":"pushToDynamicField","nodeType":"MemberAccess","referencedDeclaration":12182,"src":"9480:28:39","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":15624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9480:82:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15625,"nodeType":"ExpressionStatement","src":"9480:82:39"}]},"documentation":{"id":15582,"nodeType":"StructuredDocumentation","src":"9230:48:39","text":" @notice Push an element to hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"_pushHooks","nameLocation":"9290:10:39","parameters":{"id":15591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15585,"mutability":"mutable","name":"_tableId","nameLocation":"9312:8:39","nodeType":"VariableDeclaration","scope":15627,"src":"9301:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15584,"nodeType":"UserDefinedTypeName","pathNode":{"id":15583,"name":"ResourceId","nameLocations":["9301:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"9301:10:39"},"referencedDeclaration":9486,"src":"9301:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15588,"mutability":"mutable","name":"resourceId","nameLocation":"9333:10:39","nodeType":"VariableDeclaration","scope":15627,"src":"9322:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15587,"nodeType":"UserDefinedTypeName","pathNode":{"id":15586,"name":"ResourceId","nameLocations":["9322:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"9322:10:39"},"referencedDeclaration":9486,"src":"9322:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15590,"mutability":"mutable","name":"_element","nameLocation":"9353:8:39","nodeType":"VariableDeclaration","scope":15627,"src":"9345:16:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":15589,"name":"bytes21","nodeType":"ElementaryTypeName","src":"9345:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"9300:62:39"},"returnParameters":{"id":15592,"nodeType":"ParameterList","parameters":[],"src":"9372:0:39"},"scope":16323,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":15673,"nodeType":"FunctionDefinition","src":"9622:282:39","nodes":[],"body":{"id":15672,"nodeType":"Block","src":"9707:197:39","nodes":[],"statements":[{"assignments":[15643],"declarations":[{"constant":false,"id":15643,"mutability":"mutable","name":"_keyTuple","nameLocation":"9730:9:39","nodeType":"VariableDeclaration","scope":15672,"src":"9713:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15641,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9713:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15642,"nodeType":"ArrayTypeName","src":"9713:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":15649,"initialValue":{"arguments":[{"hexValue":"31","id":15647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9756:1:39","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":15646,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9742:13:39","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":15644,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9746:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15645,"nodeType":"ArrayTypeName","src":"9746:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":15648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9742:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9713:45:39"},{"expression":{"id":15657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":15650,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15643,"src":"9764:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15652,"indexExpression":{"hexValue":"30","id":15651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9774:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9764:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15655,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15634,"src":"9797:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":15653,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"9779:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":15654,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9790:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"9779:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":15656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9779:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9764:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15658,"nodeType":"ExpressionStatement","src":"9764:44:39"},{"expression":{"arguments":[{"id":15662,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15631,"src":"9846:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15663,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15643,"src":"9856:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9867:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"components":[{"id":15667,"name":"_element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15636,"src":"9888:8:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":15668,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9887:10:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":15665,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9870:3:39","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9874:12:39","memberName":"encodePacked","nodeType":"MemberAccess","src":"9870:16:39","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":15669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9870:28:39","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":15659,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"9815:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":15661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9827:18:39","memberName":"pushToDynamicField","nodeType":"MemberAccess","referencedDeclaration":13989,"src":"9815:30:39","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":15670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9815:84:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15671,"nodeType":"ExpressionStatement","src":"9815:84:39"}]},"documentation":{"id":15628,"nodeType":"StructuredDocumentation","src":"9571:48:39","text":" @notice Push an element to hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"push","nameLocation":"9631:4:39","parameters":{"id":15637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15631,"mutability":"mutable","name":"_tableId","nameLocation":"9647:8:39","nodeType":"VariableDeclaration","scope":15673,"src":"9636:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15630,"nodeType":"UserDefinedTypeName","pathNode":{"id":15629,"name":"ResourceId","nameLocations":["9636:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"9636:10:39"},"referencedDeclaration":9486,"src":"9636:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15634,"mutability":"mutable","name":"resourceId","nameLocation":"9668:10:39","nodeType":"VariableDeclaration","scope":15673,"src":"9657:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15633,"nodeType":"UserDefinedTypeName","pathNode":{"id":15632,"name":"ResourceId","nameLocations":["9657:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"9657:10:39"},"referencedDeclaration":9486,"src":"9657:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15636,"mutability":"mutable","name":"_element","nameLocation":"9688:8:39","nodeType":"VariableDeclaration","scope":15673,"src":"9680:16:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":15635,"name":"bytes21","nodeType":"ElementaryTypeName","src":"9680:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"9635:62:39"},"returnParameters":{"id":15638,"nodeType":"ParameterList","parameters":[],"src":"9707:0:39"},"scope":16323,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":15719,"nodeType":"FunctionDefinition","src":"9959:281:39","nodes":[],"body":{"id":15718,"nodeType":"Block","src":"10045:195:39","nodes":[],"statements":[{"assignments":[15689],"declarations":[{"constant":false,"id":15689,"mutability":"mutable","name":"_keyTuple","nameLocation":"10068:9:39","nodeType":"VariableDeclaration","scope":15718,"src":"10051:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15687,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10051:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15688,"nodeType":"ArrayTypeName","src":"10051:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":15695,"initialValue":{"arguments":[{"hexValue":"31","id":15693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10094:1:39","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":15692,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10080:13:39","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":15690,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10084:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15691,"nodeType":"ArrayTypeName","src":"10084:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":15694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10080:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10051:45:39"},{"expression":{"id":15703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":15696,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15689,"src":"10102:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15698,"indexExpression":{"hexValue":"30","id":15697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10112:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10102:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15701,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15680,"src":"10135:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":15699,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"10117:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":15700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10128:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"10117:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":15702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10117:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10102:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15704,"nodeType":"ExpressionStatement","src":"10102:44:39"},{"expression":{"arguments":[{"id":15708,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15677,"src":"10182:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15709,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15689,"src":"10192:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10203:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"components":[{"id":15713,"name":"_element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15682,"src":"10224:8:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":15714,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10223:10:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":15711,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10206:3:39","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10210:12:39","memberName":"encodePacked","nodeType":"MemberAccess","src":"10206:16:39","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":15715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10206:28:39","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":15705,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"10153:9:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":15707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10163:18:39","memberName":"pushToDynamicField","nodeType":"MemberAccess","referencedDeclaration":12182,"src":"10153:28:39","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":15716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10153:82:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15717,"nodeType":"ExpressionStatement","src":"10153:82:39"}]},"documentation":{"id":15674,"nodeType":"StructuredDocumentation","src":"9908:48:39","text":" @notice Push an element to hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"_push","nameLocation":"9968:5:39","parameters":{"id":15683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15677,"mutability":"mutable","name":"_tableId","nameLocation":"9985:8:39","nodeType":"VariableDeclaration","scope":15719,"src":"9974:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15676,"nodeType":"UserDefinedTypeName","pathNode":{"id":15675,"name":"ResourceId","nameLocations":["9974:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"9974:10:39"},"referencedDeclaration":9486,"src":"9974:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15680,"mutability":"mutable","name":"resourceId","nameLocation":"10006:10:39","nodeType":"VariableDeclaration","scope":15719,"src":"9995:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15679,"nodeType":"UserDefinedTypeName","pathNode":{"id":15678,"name":"ResourceId","nameLocations":["9995:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"9995:10:39"},"referencedDeclaration":9486,"src":"9995:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15682,"mutability":"mutable","name":"_element","nameLocation":"10026:8:39","nodeType":"VariableDeclaration","scope":15719,"src":"10018:16:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":15681,"name":"bytes21","nodeType":"ElementaryTypeName","src":"10018:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"9973:62:39"},"returnParameters":{"id":15684,"nodeType":"ParameterList","parameters":[],"src":"10045:0:39"},"scope":16323,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":15759,"nodeType":"FunctionDefinition","src":"10296:243:39","nodes":[],"body":{"id":15758,"nodeType":"Block","src":"10367:172:39","nodes":[],"statements":[{"assignments":[15733],"declarations":[{"constant":false,"id":15733,"mutability":"mutable","name":"_keyTuple","nameLocation":"10390:9:39","nodeType":"VariableDeclaration","scope":15758,"src":"10373:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15731,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10373:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15732,"nodeType":"ArrayTypeName","src":"10373:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":15739,"initialValue":{"arguments":[{"hexValue":"31","id":15737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10416:1:39","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":15736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10402:13:39","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":15734,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10406:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15735,"nodeType":"ArrayTypeName","src":"10406:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":15738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10402:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10373:45:39"},{"expression":{"id":15747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":15740,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15733,"src":"10424:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15742,"indexExpression":{"hexValue":"30","id":15741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10434:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10424:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15745,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15726,"src":"10457:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":15743,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"10439:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":15744,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10450:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"10439:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":15746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10439:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10424:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15748,"nodeType":"ExpressionStatement","src":"10424:44:39"},{"expression":{"arguments":[{"id":15752,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15723,"src":"10507:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15753,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15733,"src":"10517:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10528:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"3231","id":15755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10531:2:39","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":15749,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"10475:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":15751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10487:19:39","memberName":"popFromDynamicField","nodeType":"MemberAccess","referencedDeclaration":14037,"src":"10475:31:39","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":15756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10475:59:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15757,"nodeType":"ExpressionStatement","src":"10475:59:39"}]},"documentation":{"id":15720,"nodeType":"StructuredDocumentation","src":"10244:49:39","text":" @notice Pop an element from hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"popHooks","nameLocation":"10305:8:39","parameters":{"id":15727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15723,"mutability":"mutable","name":"_tableId","nameLocation":"10325:8:39","nodeType":"VariableDeclaration","scope":15759,"src":"10314:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15722,"nodeType":"UserDefinedTypeName","pathNode":{"id":15721,"name":"ResourceId","nameLocations":["10314:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"10314:10:39"},"referencedDeclaration":9486,"src":"10314:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15726,"mutability":"mutable","name":"resourceId","nameLocation":"10346:10:39","nodeType":"VariableDeclaration","scope":15759,"src":"10335:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15725,"nodeType":"UserDefinedTypeName","pathNode":{"id":15724,"name":"ResourceId","nameLocations":["10335:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"10335:10:39"},"referencedDeclaration":9486,"src":"10335:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"10313:44:39"},"returnParameters":{"id":15728,"nodeType":"ParameterList","parameters":[],"src":"10367:0:39"},"scope":16323,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":15799,"nodeType":"FunctionDefinition","src":"10595:242:39","nodes":[],"body":{"id":15798,"nodeType":"Block","src":"10667:170:39","nodes":[],"statements":[{"assignments":[15773],"declarations":[{"constant":false,"id":15773,"mutability":"mutable","name":"_keyTuple","nameLocation":"10690:9:39","nodeType":"VariableDeclaration","scope":15798,"src":"10673:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15771,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10673:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15772,"nodeType":"ArrayTypeName","src":"10673:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":15779,"initialValue":{"arguments":[{"hexValue":"31","id":15777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10716:1:39","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":15776,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10702:13:39","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":15774,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10706:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15775,"nodeType":"ArrayTypeName","src":"10706:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":15778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10702:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10673:45:39"},{"expression":{"id":15787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":15780,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15773,"src":"10724:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15782,"indexExpression":{"hexValue":"30","id":15781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10734:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10724:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15785,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15766,"src":"10757:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":15783,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"10739:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":15784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10750:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"10739:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":15786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10739:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10724:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15788,"nodeType":"ExpressionStatement","src":"10724:44:39"},{"expression":{"arguments":[{"id":15792,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15763,"src":"10805:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15793,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15773,"src":"10815:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10826:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"3231","id":15795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10829:2:39","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":15789,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"10775:9:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":15791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10785:19:39","memberName":"popFromDynamicField","nodeType":"MemberAccess","referencedDeclaration":12239,"src":"10775:29:39","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":15796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10775:57:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15797,"nodeType":"ExpressionStatement","src":"10775:57:39"}]},"documentation":{"id":15760,"nodeType":"StructuredDocumentation","src":"10543:49:39","text":" @notice Pop an element from hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"_popHooks","nameLocation":"10604:9:39","parameters":{"id":15767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15763,"mutability":"mutable","name":"_tableId","nameLocation":"10625:8:39","nodeType":"VariableDeclaration","scope":15799,"src":"10614:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15762,"nodeType":"UserDefinedTypeName","pathNode":{"id":15761,"name":"ResourceId","nameLocations":["10614:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"10614:10:39"},"referencedDeclaration":9486,"src":"10614:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15766,"mutability":"mutable","name":"resourceId","nameLocation":"10646:10:39","nodeType":"VariableDeclaration","scope":15799,"src":"10635:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15765,"nodeType":"UserDefinedTypeName","pathNode":{"id":15764,"name":"ResourceId","nameLocations":["10635:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"10635:10:39"},"referencedDeclaration":9486,"src":"10635:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"10613:44:39"},"returnParameters":{"id":15768,"nodeType":"ParameterList","parameters":[],"src":"10667:0:39"},"scope":16323,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":15839,"nodeType":"FunctionDefinition","src":"10893:238:39","nodes":[],"body":{"id":15838,"nodeType":"Block","src":"10959:172:39","nodes":[],"statements":[{"assignments":[15813],"declarations":[{"constant":false,"id":15813,"mutability":"mutable","name":"_keyTuple","nameLocation":"10982:9:39","nodeType":"VariableDeclaration","scope":15838,"src":"10965:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15811,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10965:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15812,"nodeType":"ArrayTypeName","src":"10965:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":15819,"initialValue":{"arguments":[{"hexValue":"31","id":15817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11008:1:39","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":15816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10994:13:39","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":15814,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10998:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15815,"nodeType":"ArrayTypeName","src":"10998:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":15818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10994:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10965:45:39"},{"expression":{"id":15827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":15820,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15813,"src":"11016:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15822,"indexExpression":{"hexValue":"30","id":15821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11026:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11016:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15825,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15806,"src":"11049:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":15823,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"11031:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":15824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11042:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"11031:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":15826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11031:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11016:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15828,"nodeType":"ExpressionStatement","src":"11016:44:39"},{"expression":{"arguments":[{"id":15832,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15803,"src":"11099:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15833,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15813,"src":"11109:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11120:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"3231","id":15835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11123:2:39","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":15829,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"11067:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":15831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11079:19:39","memberName":"popFromDynamicField","nodeType":"MemberAccess","referencedDeclaration":14037,"src":"11067:31:39","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":15836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11067:59:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15837,"nodeType":"ExpressionStatement","src":"11067:59:39"}]},"documentation":{"id":15800,"nodeType":"StructuredDocumentation","src":"10841:49:39","text":" @notice Pop an element from hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"pop","nameLocation":"10902:3:39","parameters":{"id":15807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15803,"mutability":"mutable","name":"_tableId","nameLocation":"10917:8:39","nodeType":"VariableDeclaration","scope":15839,"src":"10906:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15802,"nodeType":"UserDefinedTypeName","pathNode":{"id":15801,"name":"ResourceId","nameLocations":["10906:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"10906:10:39"},"referencedDeclaration":9486,"src":"10906:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15806,"mutability":"mutable","name":"resourceId","nameLocation":"10938:10:39","nodeType":"VariableDeclaration","scope":15839,"src":"10927:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15805,"nodeType":"UserDefinedTypeName","pathNode":{"id":15804,"name":"ResourceId","nameLocations":["10927:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"10927:10:39"},"referencedDeclaration":9486,"src":"10927:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"10905:44:39"},"returnParameters":{"id":15808,"nodeType":"ParameterList","parameters":[],"src":"10959:0:39"},"scope":16323,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":15879,"nodeType":"FunctionDefinition","src":"11187:237:39","nodes":[],"body":{"id":15878,"nodeType":"Block","src":"11254:170:39","nodes":[],"statements":[{"assignments":[15853],"declarations":[{"constant":false,"id":15853,"mutability":"mutable","name":"_keyTuple","nameLocation":"11277:9:39","nodeType":"VariableDeclaration","scope":15878,"src":"11260:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15851,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11260:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15852,"nodeType":"ArrayTypeName","src":"11260:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":15859,"initialValue":{"arguments":[{"hexValue":"31","id":15857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11303:1:39","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":15856,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11289:13:39","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":15854,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11293:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15855,"nodeType":"ArrayTypeName","src":"11293:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":15858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11289:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"11260:45:39"},{"expression":{"id":15867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":15860,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15853,"src":"11311:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15862,"indexExpression":{"hexValue":"30","id":15861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11321:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11311:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15865,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15846,"src":"11344:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":15863,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"11326:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":15864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11337:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"11326:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":15866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11326:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11311:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15868,"nodeType":"ExpressionStatement","src":"11311:44:39"},{"expression":{"arguments":[{"id":15872,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15843,"src":"11392:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15873,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15853,"src":"11402:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11413:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"3231","id":15875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11416:2:39","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":15869,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"11362:9:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":15871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11372:19:39","memberName":"popFromDynamicField","nodeType":"MemberAccess","referencedDeclaration":12239,"src":"11362:29:39","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":15876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11362:57:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15877,"nodeType":"ExpressionStatement","src":"11362:57:39"}]},"documentation":{"id":15840,"nodeType":"StructuredDocumentation","src":"11135:49:39","text":" @notice Pop an element from hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"_pop","nameLocation":"11196:4:39","parameters":{"id":15847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15843,"mutability":"mutable","name":"_tableId","nameLocation":"11212:8:39","nodeType":"VariableDeclaration","scope":15879,"src":"11201:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15842,"nodeType":"UserDefinedTypeName","pathNode":{"id":15841,"name":"ResourceId","nameLocations":["11201:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"11201:10:39"},"referencedDeclaration":9486,"src":"11201:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15846,"mutability":"mutable","name":"resourceId","nameLocation":"11233:10:39","nodeType":"VariableDeclaration","scope":15879,"src":"11222:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15845,"nodeType":"UserDefinedTypeName","pathNode":{"id":15844,"name":"ResourceId","nameLocations":["11222:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"11222:10:39"},"referencedDeclaration":9486,"src":"11222:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"11200:44:39"},"returnParameters":{"id":15848,"nodeType":"ParameterList","parameters":[],"src":"11254:0:39"},"scope":16323,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":15943,"nodeType":"FunctionDefinition","src":"11493:414:39","nodes":[],"body":{"id":15942,"nodeType":"Block","src":"11601:306:39","nodes":[],"statements":[{"assignments":[15897],"declarations":[{"constant":false,"id":15897,"mutability":"mutable","name":"_keyTuple","nameLocation":"11624:9:39","nodeType":"VariableDeclaration","scope":15942,"src":"11607:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15895,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11607:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15896,"nodeType":"ArrayTypeName","src":"11607:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":15903,"initialValue":{"arguments":[{"hexValue":"31","id":15901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11650:1:39","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":15900,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11636:13:39","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":15898,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11640:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15899,"nodeType":"ArrayTypeName","src":"11640:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":15902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11636:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"11607:45:39"},{"expression":{"id":15911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":15904,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15897,"src":"11658:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15906,"indexExpression":{"hexValue":"30","id":15905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11668:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11658:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15909,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15886,"src":"11691:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":15907,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"11673:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":15908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11684:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"11673:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":15910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11673:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11658:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15912,"nodeType":"ExpressionStatement","src":"11658:44:39"},{"id":15941,"nodeType":"UncheckedBlock","src":"11709:194:39","statements":[{"assignments":[15914],"declarations":[{"constant":false,"id":15914,"mutability":"mutable","name":"_encoded","nameLocation":"11740:8:39","nodeType":"VariableDeclaration","scope":15941,"src":"11727:21:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15913,"name":"bytes","nodeType":"ElementaryTypeName","src":"11727:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":15920,"initialValue":{"arguments":[{"components":[{"id":15917,"name":"_element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15890,"src":"11769:8:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":15918,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11768:10:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":15915,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11751:3:39","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15916,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11755:12:39","memberName":"encodePacked","nodeType":"MemberAccess","src":"11751:16:39","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":15919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11751:28:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"11727:52:39"},{"expression":{"arguments":[{"id":15924,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15883,"src":"11817:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15925,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15897,"src":"11827:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11838:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15929,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15888,"src":"11848:6:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":15930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11857:2:39","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"11848:11:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15928,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11841:6:39","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":15927,"name":"uint40","nodeType":"ElementaryTypeName","src":"11841:6:39","typeDescriptions":{}}},"id":15932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11841:19:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"arguments":[{"expression":{"id":15935,"name":"_encoded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15914,"src":"11869:8:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":15936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11878:6:39","memberName":"length","nodeType":"MemberAccess","src":"11869:15:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15934,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11862:6:39","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":15933,"name":"uint40","nodeType":"ElementaryTypeName","src":"11862:6:39","typeDescriptions":{}}},"id":15937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11862:23:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"id":15938,"name":"_encoded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15914,"src":"11887:8:39","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":15921,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"11787:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":15923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11799:17:39","memberName":"spliceDynamicData","nodeType":"MemberAccess","referencedDeclaration":13739,"src":"11787:29:39","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":15939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11787:109:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15940,"nodeType":"ExpressionStatement","src":"11787:109:39"}]}]},"documentation":{"id":15880,"nodeType":"StructuredDocumentation","src":"11428:62:39","text":" @notice Update an element of hooks at `_index`."},"implemented":true,"kind":"function","modifiers":[],"name":"updateHooks","nameLocation":"11502:11:39","parameters":{"id":15891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15883,"mutability":"mutable","name":"_tableId","nameLocation":"11525:8:39","nodeType":"VariableDeclaration","scope":15943,"src":"11514:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15882,"nodeType":"UserDefinedTypeName","pathNode":{"id":15881,"name":"ResourceId","nameLocations":["11514:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"11514:10:39"},"referencedDeclaration":9486,"src":"11514:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15886,"mutability":"mutable","name":"resourceId","nameLocation":"11546:10:39","nodeType":"VariableDeclaration","scope":15943,"src":"11535:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15885,"nodeType":"UserDefinedTypeName","pathNode":{"id":15884,"name":"ResourceId","nameLocations":["11535:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"11535:10:39"},"referencedDeclaration":9486,"src":"11535:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15888,"mutability":"mutable","name":"_index","nameLocation":"11566:6:39","nodeType":"VariableDeclaration","scope":15943,"src":"11558:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15887,"name":"uint256","nodeType":"ElementaryTypeName","src":"11558:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15890,"mutability":"mutable","name":"_element","nameLocation":"11582:8:39","nodeType":"VariableDeclaration","scope":15943,"src":"11574:16:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":15889,"name":"bytes21","nodeType":"ElementaryTypeName","src":"11574:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"11513:78:39"},"returnParameters":{"id":15892,"nodeType":"ParameterList","parameters":[],"src":"11601:0:39"},"scope":16323,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":16007,"nodeType":"FunctionDefinition","src":"11976:413:39","nodes":[],"body":{"id":16006,"nodeType":"Block","src":"12085:304:39","nodes":[],"statements":[{"assignments":[15961],"declarations":[{"constant":false,"id":15961,"mutability":"mutable","name":"_keyTuple","nameLocation":"12108:9:39","nodeType":"VariableDeclaration","scope":16006,"src":"12091:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15959,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12091:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15960,"nodeType":"ArrayTypeName","src":"12091:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":15967,"initialValue":{"arguments":[{"hexValue":"31","id":15965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12134:1:39","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":15964,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"12120:13:39","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":15962,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12124:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15963,"nodeType":"ArrayTypeName","src":"12124:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":15966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12120:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"12091:45:39"},{"expression":{"id":15975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":15968,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15961,"src":"12142:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15970,"indexExpression":{"hexValue":"30","id":15969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12152:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12142:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15973,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15950,"src":"12175:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":15971,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"12157:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":15972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12168:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"12157:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":15974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12157:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"12142:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15976,"nodeType":"ExpressionStatement","src":"12142:44:39"},{"id":16005,"nodeType":"UncheckedBlock","src":"12193:192:39","statements":[{"assignments":[15978],"declarations":[{"constant":false,"id":15978,"mutability":"mutable","name":"_encoded","nameLocation":"12224:8:39","nodeType":"VariableDeclaration","scope":16005,"src":"12211:21:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15977,"name":"bytes","nodeType":"ElementaryTypeName","src":"12211:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":15984,"initialValue":{"arguments":[{"components":[{"id":15981,"name":"_element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15954,"src":"12253:8:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":15982,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12252:10:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":15979,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12235:3:39","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12239:12:39","memberName":"encodePacked","nodeType":"MemberAccess","src":"12235:16:39","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":15983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12235:28:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12211:52:39"},{"expression":{"arguments":[{"id":15988,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15947,"src":"12299:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":15989,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15961,"src":"12309:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":15990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12320:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15993,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15952,"src":"12330:6:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":15994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12339:2:39","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"12330:11:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15992,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12323:6:39","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":15991,"name":"uint40","nodeType":"ElementaryTypeName","src":"12323:6:39","typeDescriptions":{}}},"id":15996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12323:19:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"arguments":[{"expression":{"id":15999,"name":"_encoded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15978,"src":"12351:8:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":16000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12360:6:39","memberName":"length","nodeType":"MemberAccess","src":"12351:15:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15998,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12344:6:39","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":15997,"name":"uint40","nodeType":"ElementaryTypeName","src":"12344:6:39","typeDescriptions":{}}},"id":16001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12344:23:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"id":16002,"name":"_encoded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15978,"src":"12369:8:39","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":15985,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"12271:9:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":15987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12281:17:39","memberName":"spliceDynamicData","nodeType":"MemberAccess","referencedDeclaration":11796,"src":"12271:27:39","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":16003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12271:107:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16004,"nodeType":"ExpressionStatement","src":"12271:107:39"}]}]},"documentation":{"id":15944,"nodeType":"StructuredDocumentation","src":"11911:62:39","text":" @notice Update an element of hooks at `_index`."},"implemented":true,"kind":"function","modifiers":[],"name":"_updateHooks","nameLocation":"11985:12:39","parameters":{"id":15955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15947,"mutability":"mutable","name":"_tableId","nameLocation":"12009:8:39","nodeType":"VariableDeclaration","scope":16007,"src":"11998:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15946,"nodeType":"UserDefinedTypeName","pathNode":{"id":15945,"name":"ResourceId","nameLocations":["11998:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"11998:10:39"},"referencedDeclaration":9486,"src":"11998:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15950,"mutability":"mutable","name":"resourceId","nameLocation":"12030:10:39","nodeType":"VariableDeclaration","scope":16007,"src":"12019:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":15949,"nodeType":"UserDefinedTypeName","pathNode":{"id":15948,"name":"ResourceId","nameLocations":["12019:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"12019:10:39"},"referencedDeclaration":9486,"src":"12019:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":15952,"mutability":"mutable","name":"_index","nameLocation":"12050:6:39","nodeType":"VariableDeclaration","scope":16007,"src":"12042:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15951,"name":"uint256","nodeType":"ElementaryTypeName","src":"12042:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15954,"mutability":"mutable","name":"_element","nameLocation":"12066:8:39","nodeType":"VariableDeclaration","scope":16007,"src":"12058:16:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":15953,"name":"bytes21","nodeType":"ElementaryTypeName","src":"12058:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"11997:78:39"},"returnParameters":{"id":15956,"nodeType":"ParameterList","parameters":[],"src":"12085:0:39"},"scope":16323,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":16071,"nodeType":"FunctionDefinition","src":"12458:409:39","nodes":[],"body":{"id":16070,"nodeType":"Block","src":"12561:306:39","nodes":[],"statements":[{"assignments":[16025],"declarations":[{"constant":false,"id":16025,"mutability":"mutable","name":"_keyTuple","nameLocation":"12584:9:39","nodeType":"VariableDeclaration","scope":16070,"src":"12567:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":16023,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12567:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16024,"nodeType":"ArrayTypeName","src":"12567:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":16031,"initialValue":{"arguments":[{"hexValue":"31","id":16029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12610:1:39","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":16028,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"12596:13:39","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":16026,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12600:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16027,"nodeType":"ArrayTypeName","src":"12600:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":16030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12596:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"12567:45:39"},{"expression":{"id":16039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":16032,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16025,"src":"12618:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":16034,"indexExpression":{"hexValue":"30","id":16033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12628:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12618:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":16037,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16014,"src":"12651:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":16035,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"12633:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":16036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12644:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"12633:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":16038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12633:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"12618:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16040,"nodeType":"ExpressionStatement","src":"12618:44:39"},{"id":16069,"nodeType":"UncheckedBlock","src":"12669:194:39","statements":[{"assignments":[16042],"declarations":[{"constant":false,"id":16042,"mutability":"mutable","name":"_encoded","nameLocation":"12700:8:39","nodeType":"VariableDeclaration","scope":16069,"src":"12687:21:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16041,"name":"bytes","nodeType":"ElementaryTypeName","src":"12687:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":16048,"initialValue":{"arguments":[{"components":[{"id":16045,"name":"_element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16018,"src":"12729:8:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":16046,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12728:10:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":16043,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12711:3:39","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12715:12:39","memberName":"encodePacked","nodeType":"MemberAccess","src":"12711:16:39","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":16047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12711:28:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12687:52:39"},{"expression":{"arguments":[{"id":16052,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16011,"src":"12777:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":16053,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16025,"src":"12787:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":16054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12798:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16057,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16016,"src":"12808:6:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":16058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12817:2:39","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"12808:11:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":16056,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12801:6:39","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":16055,"name":"uint40","nodeType":"ElementaryTypeName","src":"12801:6:39","typeDescriptions":{}}},"id":16060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12801:19:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"arguments":[{"expression":{"id":16063,"name":"_encoded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16042,"src":"12829:8:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":16064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12838:6:39","memberName":"length","nodeType":"MemberAccess","src":"12829:15:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":16062,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12822:6:39","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":16061,"name":"uint40","nodeType":"ElementaryTypeName","src":"12822:6:39","typeDescriptions":{}}},"id":16065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12822:23:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"id":16066,"name":"_encoded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16042,"src":"12847:8:39","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":16049,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"12747:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":16051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12759:17:39","memberName":"spliceDynamicData","nodeType":"MemberAccess","referencedDeclaration":13739,"src":"12747:29:39","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":16067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12747:109:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16068,"nodeType":"ExpressionStatement","src":"12747:109:39"}]}]},"documentation":{"id":16008,"nodeType":"StructuredDocumentation","src":"12393:62:39","text":" @notice Update an element of hooks at `_index`."},"implemented":true,"kind":"function","modifiers":[],"name":"update","nameLocation":"12467:6:39","parameters":{"id":16019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16011,"mutability":"mutable","name":"_tableId","nameLocation":"12485:8:39","nodeType":"VariableDeclaration","scope":16071,"src":"12474:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":16010,"nodeType":"UserDefinedTypeName","pathNode":{"id":16009,"name":"ResourceId","nameLocations":["12474:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"12474:10:39"},"referencedDeclaration":9486,"src":"12474:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":16014,"mutability":"mutable","name":"resourceId","nameLocation":"12506:10:39","nodeType":"VariableDeclaration","scope":16071,"src":"12495:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":16013,"nodeType":"UserDefinedTypeName","pathNode":{"id":16012,"name":"ResourceId","nameLocations":["12495:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"12495:10:39"},"referencedDeclaration":9486,"src":"12495:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":16016,"mutability":"mutable","name":"_index","nameLocation":"12526:6:39","nodeType":"VariableDeclaration","scope":16071,"src":"12518:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16015,"name":"uint256","nodeType":"ElementaryTypeName","src":"12518:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16018,"mutability":"mutable","name":"_element","nameLocation":"12542:8:39","nodeType":"VariableDeclaration","scope":16071,"src":"12534:16:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":16017,"name":"bytes21","nodeType":"ElementaryTypeName","src":"12534:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"12473:78:39"},"returnParameters":{"id":16020,"nodeType":"ParameterList","parameters":[],"src":"12561:0:39"},"scope":16323,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":16135,"nodeType":"FunctionDefinition","src":"12936:408:39","nodes":[],"body":{"id":16134,"nodeType":"Block","src":"13040:304:39","nodes":[],"statements":[{"assignments":[16089],"declarations":[{"constant":false,"id":16089,"mutability":"mutable","name":"_keyTuple","nameLocation":"13063:9:39","nodeType":"VariableDeclaration","scope":16134,"src":"13046:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":16087,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13046:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16088,"nodeType":"ArrayTypeName","src":"13046:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":16095,"initialValue":{"arguments":[{"hexValue":"31","id":16093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13089:1:39","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":16092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"13075:13:39","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":16090,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13079:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16091,"nodeType":"ArrayTypeName","src":"13079:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":16094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13075:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"13046:45:39"},{"expression":{"id":16103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":16096,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16089,"src":"13097:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":16098,"indexExpression":{"hexValue":"30","id":16097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13107:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13097:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":16101,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16078,"src":"13130:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":16099,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"13112:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":16100,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13123:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"13112:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":16102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13112:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"13097:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16104,"nodeType":"ExpressionStatement","src":"13097:44:39"},{"id":16133,"nodeType":"UncheckedBlock","src":"13148:192:39","statements":[{"assignments":[16106],"declarations":[{"constant":false,"id":16106,"mutability":"mutable","name":"_encoded","nameLocation":"13179:8:39","nodeType":"VariableDeclaration","scope":16133,"src":"13166:21:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16105,"name":"bytes","nodeType":"ElementaryTypeName","src":"13166:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":16112,"initialValue":{"arguments":[{"components":[{"id":16109,"name":"_element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16082,"src":"13208:8:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"id":16110,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13207:10:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":16107,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13190:3:39","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16108,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13194:12:39","memberName":"encodePacked","nodeType":"MemberAccess","src":"13190:16:39","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":16111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13190:28:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"13166:52:39"},{"expression":{"arguments":[{"id":16116,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16075,"src":"13254:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":16117,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16089,"src":"13264:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"30","id":16118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13275:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16121,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16080,"src":"13285:6:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":16122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13294:2:39","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"13285:11:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":16120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13278:6:39","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":16119,"name":"uint40","nodeType":"ElementaryTypeName","src":"13278:6:39","typeDescriptions":{}}},"id":16124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13278:19:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"arguments":[{"expression":{"id":16127,"name":"_encoded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16106,"src":"13306:8:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":16128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13315:6:39","memberName":"length","nodeType":"MemberAccess","src":"13306:15:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":16126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13299:6:39","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":16125,"name":"uint40","nodeType":"ElementaryTypeName","src":"13299:6:39","typeDescriptions":{}}},"id":16129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13299:23:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"id":16130,"name":"_encoded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16106,"src":"13324:8:39","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":16113,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"13226:9:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":16115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13236:17:39","memberName":"spliceDynamicData","nodeType":"MemberAccess","referencedDeclaration":11796,"src":"13226:27:39","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":16131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13226:107:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16132,"nodeType":"ExpressionStatement","src":"13226:107:39"}]}]},"documentation":{"id":16072,"nodeType":"StructuredDocumentation","src":"12871:62:39","text":" @notice Update an element of hooks at `_index`."},"implemented":true,"kind":"function","modifiers":[],"name":"_update","nameLocation":"12945:7:39","parameters":{"id":16083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16075,"mutability":"mutable","name":"_tableId","nameLocation":"12964:8:39","nodeType":"VariableDeclaration","scope":16135,"src":"12953:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":16074,"nodeType":"UserDefinedTypeName","pathNode":{"id":16073,"name":"ResourceId","nameLocations":["12953:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"12953:10:39"},"referencedDeclaration":9486,"src":"12953:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":16078,"mutability":"mutable","name":"resourceId","nameLocation":"12985:10:39","nodeType":"VariableDeclaration","scope":16135,"src":"12974:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":16077,"nodeType":"UserDefinedTypeName","pathNode":{"id":16076,"name":"ResourceId","nameLocations":["12974:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"12974:10:39"},"referencedDeclaration":9486,"src":"12974:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":16080,"mutability":"mutable","name":"_index","nameLocation":"13005:6:39","nodeType":"VariableDeclaration","scope":16135,"src":"12997:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16079,"name":"uint256","nodeType":"ElementaryTypeName","src":"12997:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16082,"mutability":"mutable","name":"_element","nameLocation":"13021:8:39","nodeType":"VariableDeclaration","scope":16135,"src":"13013:16:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":16081,"name":"bytes21","nodeType":"ElementaryTypeName","src":"13013:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"12952:78:39"},"returnParameters":{"id":16084,"nodeType":"ParameterList","parameters":[],"src":"13040:0:39"},"scope":16323,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":16173,"nodeType":"FunctionDefinition","src":"13405:233:39","nodes":[],"body":{"id":16172,"nodeType":"Block","src":"13480:158:39","nodes":[],"statements":[{"assignments":[16149],"declarations":[{"constant":false,"id":16149,"mutability":"mutable","name":"_keyTuple","nameLocation":"13503:9:39","nodeType":"VariableDeclaration","scope":16172,"src":"13486:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":16147,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13486:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16148,"nodeType":"ArrayTypeName","src":"13486:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":16155,"initialValue":{"arguments":[{"hexValue":"31","id":16153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13529:1:39","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":16152,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"13515:13:39","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":16150,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13519:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16151,"nodeType":"ArrayTypeName","src":"13519:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":16154,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13515:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"13486:45:39"},{"expression":{"id":16163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":16156,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16149,"src":"13537:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":16158,"indexExpression":{"hexValue":"30","id":16157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13547:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13537:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":16161,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16142,"src":"13570:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":16159,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"13552:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":16160,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13563:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"13552:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":16162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13552:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"13537:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16164,"nodeType":"ExpressionStatement","src":"13537:44:39"},{"expression":{"arguments":[{"id":16168,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16139,"src":"13613:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":16169,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16149,"src":"13623:9:39","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":16165,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"13588:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":16167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13600:12:39","memberName":"deleteRecord","nodeType":"MemberAccess","referencedDeclaration":14077,"src":"13588:24:39","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory)"}},"id":16170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13588:45:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16171,"nodeType":"ExpressionStatement","src":"13588:45:39"}]},"documentation":{"id":16136,"nodeType":"StructuredDocumentation","src":"13348:54:39","text":" @notice Delete all data for given keys."},"implemented":true,"kind":"function","modifiers":[],"name":"deleteRecord","nameLocation":"13414:12:39","parameters":{"id":16143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16139,"mutability":"mutable","name":"_tableId","nameLocation":"13438:8:39","nodeType":"VariableDeclaration","scope":16173,"src":"13427:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":16138,"nodeType":"UserDefinedTypeName","pathNode":{"id":16137,"name":"ResourceId","nameLocations":["13427:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"13427:10:39"},"referencedDeclaration":9486,"src":"13427:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":16142,"mutability":"mutable","name":"resourceId","nameLocation":"13459:10:39","nodeType":"VariableDeclaration","scope":16173,"src":"13448:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":16141,"nodeType":"UserDefinedTypeName","pathNode":{"id":16140,"name":"ResourceId","nameLocations":["13448:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"13448:10:39"},"referencedDeclaration":9486,"src":"13448:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"13426:44:39"},"returnParameters":{"id":16144,"nodeType":"ParameterList","parameters":[],"src":"13480:0:39"},"scope":16323,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":16212,"nodeType":"FunctionDefinition","src":"13699:246:39","nodes":[],"body":{"id":16211,"nodeType":"Block","src":"13775:170:39","nodes":[],"statements":[{"assignments":[16187],"declarations":[{"constant":false,"id":16187,"mutability":"mutable","name":"_keyTuple","nameLocation":"13798:9:39","nodeType":"VariableDeclaration","scope":16211,"src":"13781:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":16185,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13781:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16186,"nodeType":"ArrayTypeName","src":"13781:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":16193,"initialValue":{"arguments":[{"hexValue":"31","id":16191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13824:1:39","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":16190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"13810:13:39","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":16188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13814:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16189,"nodeType":"ArrayTypeName","src":"13814:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":16192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13810:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"13781:45:39"},{"expression":{"id":16201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":16194,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16187,"src":"13832:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":16196,"indexExpression":{"hexValue":"30","id":16195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13842:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13832:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":16199,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16180,"src":"13865:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":16197,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"13847:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":16198,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13858:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"13847:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":16200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13847:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"13832:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16202,"nodeType":"ExpressionStatement","src":"13832:44:39"},{"expression":{"arguments":[{"id":16206,"name":"_tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16177,"src":"13906:8:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":16207,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16187,"src":"13916:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":16208,"name":"_fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14603,"src":"13927:12:39","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":16203,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"13883:9:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$12701_$","typeString":"type(library StoreCore)"}},"id":16205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13893:12:39","memberName":"deleteRecord","nodeType":"MemberAccess","referencedDeclaration":12133,"src":"13883:22:39","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":16209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13883:57:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16210,"nodeType":"ExpressionStatement","src":"13883:57:39"}]},"documentation":{"id":16174,"nodeType":"StructuredDocumentation","src":"13642:54:39","text":" @notice Delete all data for given keys."},"implemented":true,"kind":"function","modifiers":[],"name":"_deleteRecord","nameLocation":"13708:13:39","parameters":{"id":16181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16177,"mutability":"mutable","name":"_tableId","nameLocation":"13733:8:39","nodeType":"VariableDeclaration","scope":16212,"src":"13722:19:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":16176,"nodeType":"UserDefinedTypeName","pathNode":{"id":16175,"name":"ResourceId","nameLocations":["13722:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"13722:10:39"},"referencedDeclaration":9486,"src":"13722:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":16180,"mutability":"mutable","name":"resourceId","nameLocation":"13754:10:39","nodeType":"VariableDeclaration","scope":16212,"src":"13743:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":16179,"nodeType":"UserDefinedTypeName","pathNode":{"id":16178,"name":"ResourceId","nameLocations":["13743:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"13743:10:39"},"referencedDeclaration":9486,"src":"13743:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"13721:44:39"},"returnParameters":{"id":16182,"nodeType":"ParameterList","parameters":[],"src":"13775:0:39"},"scope":16323,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":16234,"nodeType":"FunctionDefinition","src":"14136:283:39","nodes":[],"body":{"id":16233,"nodeType":"Block","src":"14238:181:39","nodes":[],"statements":[{"id":16232,"nodeType":"UncheckedBlock","src":"14331:84:39","statements":[{"expression":{"id":16230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":16222,"name":"_encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16220,"src":"14349:15:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":16225,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16216,"src":"14390:5:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":16226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14396:6:39","memberName":"length","nodeType":"MemberAccess","src":"14390:12:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3231","id":16227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14405:2:39","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"src":"14390:17:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16223,"name":"EncodedLengthsLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7669,"src":"14367:17:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EncodedLengthsLib_$7669_$","typeString":"type(library EncodedLengthsLib)"}},"id":16224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14385:4:39","memberName":"pack","nodeType":"MemberAccess","referencedDeclaration":7314,"src":"14367:22:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (uint256) pure returns (EncodedLengths)"}},"id":16229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14367:41:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"src":"14349:59:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"id":16231,"nodeType":"ExpressionStatement","src":"14349:59:39"}]}]},"documentation":{"id":16213,"nodeType":"StructuredDocumentation","src":"13949:184:39","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":"14145:13:39","parameters":{"id":16217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16216,"mutability":"mutable","name":"hooks","nameLocation":"14176:5:39","nodeType":"VariableDeclaration","scope":16234,"src":"14159:22:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":16214,"name":"bytes21","nodeType":"ElementaryTypeName","src":"14159:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":16215,"nodeType":"ArrayTypeName","src":"14159:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"14158:24:39"},"returnParameters":{"id":16221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16220,"mutability":"mutable","name":"_encodedLengths","nameLocation":"14221:15:39","nodeType":"VariableDeclaration","scope":16234,"src":"14206:30:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":16219,"nodeType":"UserDefinedTypeName","pathNode":{"id":16218,"name":"EncodedLengths","nameLocations":["14206:14:39"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"14206:14:39"},"referencedDeclaration":7251,"src":"14206:14:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"}],"src":"14205:32:39"},"scope":16323,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":16253,"nodeType":"FunctionDefinition","src":"14584:147:39","nodes":[],"body":{"id":16252,"nodeType":"Block","src":"14668:63:39","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"components":[{"id":16247,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16238,"src":"14718:5:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}}],"id":16248,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14717:7:39","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":16245,"name":"EncodeArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26427,"src":"14698:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EncodeArray_$26427_$","typeString":"type(library EncodeArray)"}},"id":16246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14710:6:39","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26114,"src":"14698:18:39","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":16249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14698:27:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":16243,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14681:3:39","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14685:12:39","memberName":"encodePacked","nodeType":"MemberAccess","src":"14681:16:39","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":16250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14681:45:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":16242,"id":16251,"nodeType":"Return","src":"14674:52:39"}]},"documentation":{"id":16235,"nodeType":"StructuredDocumentation","src":"14423:158:39","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":"14593:13:39","parameters":{"id":16239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16238,"mutability":"mutable","name":"hooks","nameLocation":"14624:5:39","nodeType":"VariableDeclaration","scope":16253,"src":"14607:22:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":16236,"name":"bytes21","nodeType":"ElementaryTypeName","src":"14607:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":16237,"nodeType":"ArrayTypeName","src":"14607:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"14606:24:39"},"returnParameters":{"id":16242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16241,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16253,"src":"14654:12:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16240,"name":"bytes","nodeType":"ElementaryTypeName","src":"14654:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14653:14:39"},"scope":16323,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":16289,"nodeType":"FunctionDefinition","src":"15040:313:39","nodes":[],"body":{"id":16288,"nodeType":"Block","src":"15147:206:39","nodes":[],"statements":[{"assignments":[16268],"declarations":[{"constant":false,"id":16268,"mutability":"mutable","name":"_staticData","nameLocation":"15166:11:39","nodeType":"VariableDeclaration","scope":16288,"src":"15153:24:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16267,"name":"bytes","nodeType":"ElementaryTypeName","src":"15153:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":16269,"nodeType":"VariableDeclarationStatement","src":"15153:24:39"},{"assignments":[16272],"declarations":[{"constant":false,"id":16272,"mutability":"mutable","name":"_encodedLengths","nameLocation":"15198:15:39","nodeType":"VariableDeclaration","scope":16288,"src":"15183:30:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":16271,"nodeType":"UserDefinedTypeName","pathNode":{"id":16270,"name":"EncodedLengths","nameLocations":["15183:14:39"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"15183:14:39"},"referencedDeclaration":7251,"src":"15183:14:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"}],"id":16276,"initialValue":{"arguments":[{"id":16274,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16257,"src":"15230:5:39","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":16273,"name":"encodeLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16234,"src":"15216:13:39","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":16275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15216:20:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"nodeType":"VariableDeclarationStatement","src":"15183:53:39"},{"assignments":[16278],"declarations":[{"constant":false,"id":16278,"mutability":"mutable","name":"_dynamicData","nameLocation":"15255:12:39","nodeType":"VariableDeclaration","scope":16288,"src":"15242:25:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16277,"name":"bytes","nodeType":"ElementaryTypeName","src":"15242:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":16282,"initialValue":{"arguments":[{"id":16280,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16257,"src":"15284:5:39","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":16279,"name":"encodeDynamic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16253,"src":"15270:13:39","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":16281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15270:20:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15242:48:39"},{"expression":{"components":[{"id":16283,"name":"_staticData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16268,"src":"15305:11:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":16284,"name":"_encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16272,"src":"15318:15:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},{"id":16285,"name":"_dynamicData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16278,"src":"15335:12:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":16286,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15304:44:39","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$","typeString":"tuple(bytes memory,EncodedLengths,bytes memory)"}},"functionReturnParameters":16266,"id":16287,"nodeType":"Return","src":"15297:51:39"}]},"documentation":{"id":16254,"nodeType":"StructuredDocumentation","src":"14735:302:39","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":"15049:6:39","parameters":{"id":16258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16257,"mutability":"mutable","name":"hooks","nameLocation":"15073:5:39","nodeType":"VariableDeclaration","scope":16289,"src":"15056:22:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":16255,"name":"bytes21","nodeType":"ElementaryTypeName","src":"15056:7:39","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":16256,"nodeType":"ArrayTypeName","src":"15056:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"15055:24:39"},"returnParameters":{"id":16266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16260,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16289,"src":"15103:12:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16259,"name":"bytes","nodeType":"ElementaryTypeName","src":"15103:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":16263,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16289,"src":"15117:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":16262,"nodeType":"UserDefinedTypeName","pathNode":{"id":16261,"name":"EncodedLengths","nameLocations":["15117:14:39"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"15117:14:39"},"referencedDeclaration":7251,"src":"15117:14:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"},{"constant":false,"id":16265,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16289,"src":"15133:12:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16264,"name":"bytes","nodeType":"ElementaryTypeName","src":"15133:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15102:44:39"},"scope":16323,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":16322,"nodeType":"FunctionDefinition","src":"15446:217:39","nodes":[],"body":{"id":16321,"nodeType":"Block","src":"15534:129:39","nodes":[],"statements":[{"assignments":[16303],"declarations":[{"constant":false,"id":16303,"mutability":"mutable","name":"_keyTuple","nameLocation":"15557:9:39","nodeType":"VariableDeclaration","scope":16321,"src":"15540:26:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":16301,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15540:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16302,"nodeType":"ArrayTypeName","src":"15540:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":16309,"initialValue":{"arguments":[{"hexValue":"31","id":16307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15583:1:39","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":16306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"15569:13:39","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":16304,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15573:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16305,"nodeType":"ArrayTypeName","src":"15573:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":16308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15569:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"15540:45:39"},{"expression":{"id":16317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":16310,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16303,"src":"15591:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":16312,"indexExpression":{"hexValue":"30","id":16311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15601:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15591:12:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":16315,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16293,"src":"15624:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":16313,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"15606:10:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":16314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15617:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"15606:17:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":16316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15606:29:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"15591:44:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16318,"nodeType":"ExpressionStatement","src":"15591:44:39"},{"expression":{"id":16319,"name":"_keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16303,"src":"15649:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":16298,"id":16320,"nodeType":"Return","src":"15642:16:39"}]},"documentation":{"id":16290,"nodeType":"StructuredDocumentation","src":"15357:86:39","text":" @notice Encode keys as a bytes32 array using this table's field layout."},"implemented":true,"kind":"function","modifiers":[],"name":"encodeKeyTuple","nameLocation":"15455:14:39","parameters":{"id":16294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16293,"mutability":"mutable","name":"resourceId","nameLocation":"15481:10:39","nodeType":"VariableDeclaration","scope":16322,"src":"15470:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":16292,"nodeType":"UserDefinedTypeName","pathNode":{"id":16291,"name":"ResourceId","nameLocations":["15470:10:39"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"15470:10:39"},"referencedDeclaration":9486,"src":"15470:10:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"15469:23:39"},"returnParameters":{"id":16298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16297,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16322,"src":"15516:16:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":16295,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15516:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16296,"nodeType":"ArrayTypeName","src":"15516:9:39","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"15515:18:39"},"scope":16323,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"Hooks","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[16323],"name":"Hooks","nameLocation":"780:5:39","scope":16324,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":39}