@latticexyz/world-modules 2.0.0-main-2b8c0bcc → 2.0.0-main-9448c3f1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/ERC20.t.sol/ERC20Test.json +1 -1
- package/out/ERC721.t.sol/ERC721Recipient.json +1 -1
- package/out/ERC721.t.sol/ERC721Test.json +1 -1
- package/out/ERC721.t.sol/ERC721TokenReceiver.json +1 -1
- package/out/ERC721.t.sol/NonERC721Recipient.json +1 -1
- package/out/ERC721.t.sol/RevertingERC721Recipient.json +1 -1
- package/out/ERC721.t.sol/WrongReturnDataERC721Recipient.json +1 -1
- package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.json +1 -1
- package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.json +1 -1
- package/out/PuppetModule.t.sol/PuppetModuleTest.json +1 -1
- package/out/PuppetModule.t.sol/PuppetTestSystem.json +1 -1
- package/out/StandardDelegationsModule.t.sol/StandardDelegationsModuleTest.json +1 -1
- package/out/SystemSwitch.sol/SystemSwitch.json +1 -1
- package/out/SystemSwitch.t.sol/EchoSystem.abi.json +98 -1
- package/out/SystemSwitch.t.sol/EchoSystem.abi.json.d.ts +98 -1
- package/out/SystemSwitch.t.sol/EchoSystem.json +1 -1
- package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json +59 -15
- package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json.d.ts +59 -15
- package/out/SystemSwitch.t.sol/SystemSwitchTest.json +1 -1
- package/out/UniqueEntityModule.t.sol/UniqueEntityModuleTest.json +1 -1
- package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.abi.json +68 -0
- package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.abi.json.d.ts +68 -0
- package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.json +1 -1
- package/out/getUniqueEntity.sol/getUniqueEntity.json +1 -1
- package/out/query.t.sol/QueryTest.json +1 -1
- package/out/registerERC721.sol/registerERC721.json +1 -1
- package/package.json +8 -8
- package/src/utils/SystemSwitch.sol +6 -9
@@ -1 +1 @@
|
|
1
|
-
{"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"callViaSelector","inputs":[{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"echo","inputs":[{"name":"message","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"msgSender","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506113fc806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c806345ec935411610076578063d737d0c71161005b578063d737d0c71461014b578063e1af802c14610153578063f15da7291461015b57600080fd5b806345ec93541461012557806396f09da61461013857600080fd5b806301ffc9a7146100a8578063119df25f146100d057806330b67baa146100fd5780633ae7af0814610105575b600080fd5b6100bb6100b6366004610e39565b61016c565b60405190151581526020015b60405180910390f35b6100d8610205565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100c7565b6100d8610214565b610118610113366004610f48565b61021e565b6040516100c79190610fdf565b604051601f1936013581526020016100c7565b610118610146366004610ff2565b610231565b6100d861023c565b6100d8610246565b610118610169366004611027565b90565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101ff57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061020f610250565b905090565b600061020f610246565b606061022a8383610281565b9392505050565b60606101ff826103f3565b600061020f610205565b600061020f6104a1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c8061016957503390565b6060600061028d6104a1565b905073ffffffffffffffffffffffffffffffffffffffff811630036103505760006102b7856104ab565b50905073ffffffffffffffffffffffffffffffffffffffff811661031c57846102df8661055c565b6040517ffbf10ce6000000000000000000000000000000000000000000000000000000008152600401610313929190611070565b60405180910390fd5b6000610336610329610250565b36601f1901358488610699565b9450905080610348576103488461071a565b5050506101ff565b6040517f3ae7af0800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690633ae7af08906103a49087908790600401611070565b6000604051808303816000875af11580156103c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103eb91908101906110ce565b949350505050565b606060008061040961040485611103565b610722565b91509150816000801b0361046f576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610313565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526103eb8285610281565b600061020f6107e5565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106104e5576104e5611153565b60209081029190910101526000808061053e7f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000610831565b92509250925061054f83838361091b565b9550955050505050915091565b606081601081901b600061056f83610933565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156105ca576105c57fffffffffffffffffffffffffffff000000000000000000000000000000000000841661094a565b610601565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000831615610637576106328361094a565b61066e565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161068093929190611169565b6040516020818303038152906040529350505050919050565b600060608373ffffffffffffffffffffffffffffffffffffffff166106bf8488886109ee565b6040516106cc91906111f7565b600060405180830381855af49150503d8060008114610707576040519150601f19603f3d011682016040523d82523d6000602084013e61070c565b606091505b509097909650945050505050565b805160208201fd5b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168160008151811061077b5761077b611153565b6020908102919091010152600080806107d47f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610831565b92509250925061054f838383610a1d565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff168061082c573391505090565b919050565b60606000606060006108416107e5565b90503073ffffffffffffffffffffffffffffffffffffffff8216036108775761086b878787610a29565b93509350935050610912565b6040517f419b58fd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063419b58fd906108cd908a908a908a90600401611213565b600060405180830381865afa1580156108ea573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261086b919081019061126c565b93509350939050565b60008061092785610b31565b90969095509350505050565b6000610941607060106112ef565b9190911b919050565b606060005b60108110156109af577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156109af5760010161094f565b604080517fffffffffffffffffffffffffffffffff000000000000000000000000000000008516602082015281516030909101909152818152806103eb565b6060838383604051602001610a0593929190611302565b60405160208183030381529060405290509392505050565b60008061092785610b50565b6060600060606000610a3a85610b62565b9050610a47878783610b85565b93506000610a5486610bc7565b90508015610b2657610a668888610c04565b935066ffffffffffffff841667ffffffffffffffff811115610a8a57610a8a610e7b565b6040519080825280601f01601f191660200182016040528015610ab4576020820181803683370190505b5092506020830160005b828160ff161015610b23576000610ad68b8b84610c17565b90506000610af3888460ff166028026038011c64ffffffffff1690565b9050610b028260008387610c97565b610b0c81856112ef565b935050508080610b1b90611354565b915050610abe565b50505b505093509350939050565b6020810151603482015160609190911c9060009060f81c5b9050915091565b60208101516040820151600090610b49565b60006008610b7260026020611373565b610b7c9190611386565b9190911c919050565b606081600003610ba4575060408051602081019091526000815261022a565b6000610bb08585610d62565b9050610bbe81600085610db8565b95945050505050565b60006008600180610bda60026020611373565b610be49190611373565b610bee9190611373565b610bf89190611386565b8260ff911c1692915050565b600061022a610c138484610de3565b5490565b60008383604051602001610c2c92919061139d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215610d1e5760208310610cc157602083048401935060208381610cbd57610cbd6113d9565b0692505b8215610d1e576020839003600081841015610ce45750600019600884021c610cee565b50600019600882021c5b8554600886021b818451168219821617845250818411610d0f575050610d5c565b50600194909401939182900391015b5b60208210610d405783548152600190930192601f1990910190602001610d1f565b8115610d5c5780518454600019600885021c9182169119161781525b50505050565b60008282604051602001610d7792919061139d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b60405160208101601f19603f8484010116604052828252610ddb85858584610c97565b509392505050565b60008282604051602001610df892919061139d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600060208284031215610e4b57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461022a57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610eba57610eba610e7b565b604052919050565b600067ffffffffffffffff821115610edc57610edc610e7b565b50601f01601f191660200190565b6000610efd610ef884610ec2565b610e91565b9050828152838383011115610f1157600080fd5b828260208301376000602084830101529392505050565b600082601f830112610f3957600080fd5b61022a83833560208501610eea565b60008060408385031215610f5b57600080fd5b82359150602083013567ffffffffffffffff811115610f7957600080fd5b610f8585828601610f28565b9150509250929050565b60005b83811015610faa578181015183820152602001610f92565b50506000910152565b60008151808452610fcb816020860160208601610f8f565b601f01601f19169290920160200192915050565b60208152600061022a6020830184610fb3565b60006020828403121561100457600080fd5b813567ffffffffffffffff81111561101b57600080fd5b6103eb84828501610f28565b60006020828403121561103957600080fd5b813567ffffffffffffffff81111561105057600080fd5b8201601f8101841361106157600080fd5b6103eb84823560208401610eea565b8281526040602082015260006103eb6040830184610fb3565b600082601f83011261109a57600080fd5b81516110a8610ef882610ec2565b8181528460208386010111156110bd57600080fd5b6103eb826020830160208701610f8f565b6000602082840312156110e057600080fd5b815167ffffffffffffffff8111156110f757600080fd5b6103eb84828501611089565b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561114b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b600052603260045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516111ca816003860160208901610f8f565b8084019050816003820152845191506111ea826004830160208801610f8f565b0160040195945050505050565b60008251611209818460208701610f8f565b9190910192915050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b818110156112565784518352938301939183019160010161123a565b5050809350505050826040830152949350505050565b60008060006060848603121561128157600080fd5b835167ffffffffffffffff8082111561129957600080fd5b6112a587838801611089565b94506020860151935060408601519150808211156112c257600080fd5b506112cf86828701611089565b9150509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156101ff576101ff6112d9565b60008451611314818460208901610f8f565b60609490941b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001691909301908152601481019190915260340192915050565b600060ff821660ff810361136a5761136a6112d9565b60010192915050565b818103818111156101ff576101ff6112d9565b80820281158282048414176101ff576101ff6112d9565b8281526000602080830184516020860160005b828110156113cc578151845292840192908401906001016113b0565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fdfea164736f6c6343000818000a","sourceMap":"779:570:204:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100a35760003560e01c806345ec935411610076578063d737d0c71161005b578063d737d0c71461014b578063e1af802c14610153578063f15da7291461015b57600080fd5b806345ec93541461012557806396f09da61461013857600080fd5b806301ffc9a7146100a8578063119df25f146100d057806330b67baa146100fd5780633ae7af0814610105575b600080fd5b6100bb6100b6366004610e39565b61016c565b60405190151581526020015b60405180910390f35b6100d8610205565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100c7565b6100d8610214565b610118610113366004610f48565b61021e565b6040516100c79190610fdf565b604051601f1936013581526020016100c7565b610118610146366004610ff2565b610231565b6100d861023c565b6100d8610246565b610118610169366004611027565b90565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101ff57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061020f610250565b905090565b600061020f610246565b606061022a8383610281565b9392505050565b60606101ff826103f3565b600061020f610205565b600061020f6104a1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c8061016957503390565b6060600061028d6104a1565b905073ffffffffffffffffffffffffffffffffffffffff811630036103505760006102b7856104ab565b50905073ffffffffffffffffffffffffffffffffffffffff811661031c57846102df8661055c565b6040517ffbf10ce6000000000000000000000000000000000000000000000000000000008152600401610313929190611070565b60405180910390fd5b6000610336610329610250565b36601f1901358488610699565b9450905080610348576103488461071a565b5050506101ff565b6040517f3ae7af0800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690633ae7af08906103a49087908790600401611070565b6000604051808303816000875af11580156103c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103eb91908101906110ce565b949350505050565b606060008061040961040485611103565b610722565b91509150816000801b0361046f576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610313565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526103eb8285610281565b600061020f6107e5565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106104e5576104e5611153565b60209081029190910101526000808061053e7f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000610831565b92509250925061054f83838361091b565b9550955050505050915091565b606081601081901b600061056f83610933565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156105ca576105c57fffffffffffffffffffffffffffff000000000000000000000000000000000000841661094a565b610601565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000831615610637576106328361094a565b61066e565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161068093929190611169565b6040516020818303038152906040529350505050919050565b600060608373ffffffffffffffffffffffffffffffffffffffff166106bf8488886109ee565b6040516106cc91906111f7565b600060405180830381855af49150503d8060008114610707576040519150601f19603f3d011682016040523d82523d6000602084013e61070c565b606091505b509097909650945050505050565b805160208201fd5b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168160008151811061077b5761077b611153565b6020908102919091010152600080806107d47f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610831565b92509250925061054f838383610a1d565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff168061082c573391505090565b919050565b60606000606060006108416107e5565b90503073ffffffffffffffffffffffffffffffffffffffff8216036108775761086b878787610a29565b93509350935050610912565b6040517f419b58fd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063419b58fd906108cd908a908a908a90600401611213565b600060405180830381865afa1580156108ea573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261086b919081019061126c565b93509350939050565b60008061092785610b31565b90969095509350505050565b6000610941607060106112ef565b9190911b919050565b606060005b60108110156109af577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156109af5760010161094f565b604080517fffffffffffffffffffffffffffffffff000000000000000000000000000000008516602082015281516030909101909152818152806103eb565b6060838383604051602001610a0593929190611302565b60405160208183030381529060405290509392505050565b60008061092785610b50565b6060600060606000610a3a85610b62565b9050610a47878783610b85565b93506000610a5486610bc7565b90508015610b2657610a668888610c04565b935066ffffffffffffff841667ffffffffffffffff811115610a8a57610a8a610e7b565b6040519080825280601f01601f191660200182016040528015610ab4576020820181803683370190505b5092506020830160005b828160ff161015610b23576000610ad68b8b84610c17565b90506000610af3888460ff166028026038011c64ffffffffff1690565b9050610b028260008387610c97565b610b0c81856112ef565b935050508080610b1b90611354565b915050610abe565b50505b505093509350939050565b6020810151603482015160609190911c9060009060f81c5b9050915091565b60208101516040820151600090610b49565b60006008610b7260026020611373565b610b7c9190611386565b9190911c919050565b606081600003610ba4575060408051602081019091526000815261022a565b6000610bb08585610d62565b9050610bbe81600085610db8565b95945050505050565b60006008600180610bda60026020611373565b610be49190611373565b610bee9190611373565b610bf89190611386565b8260ff911c1692915050565b600061022a610c138484610de3565b5490565b60008383604051602001610c2c92919061139d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215610d1e5760208310610cc157602083048401935060208381610cbd57610cbd6113d9565b0692505b8215610d1e576020839003600081841015610ce45750600019600884021c610cee565b50600019600882021c5b8554600886021b818451168219821617845250818411610d0f575050610d5c565b50600194909401939182900391015b5b60208210610d405783548152600190930192601f1990910190602001610d1f565b8115610d5c5780518454600019600885021c9182169119161781525b50505050565b60008282604051602001610d7792919061139d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b60405160208101601f19603f8484010116604052828252610ddb85858584610c97565b509392505050565b60008282604051602001610df892919061139d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600060208284031215610e4b57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461022a57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610eba57610eba610e7b565b604052919050565b600067ffffffffffffffff821115610edc57610edc610e7b565b50601f01601f191660200190565b6000610efd610ef884610ec2565b610e91565b9050828152838383011115610f1157600080fd5b828260208301376000602084830101529392505050565b600082601f830112610f3957600080fd5b61022a83833560208501610eea565b60008060408385031215610f5b57600080fd5b82359150602083013567ffffffffffffffff811115610f7957600080fd5b610f8585828601610f28565b9150509250929050565b60005b83811015610faa578181015183820152602001610f92565b50506000910152565b60008151808452610fcb816020860160208601610f8f565b601f01601f19169290920160200192915050565b60208152600061022a6020830184610fb3565b60006020828403121561100457600080fd5b813567ffffffffffffffff81111561101b57600080fd5b6103eb84828501610f28565b60006020828403121561103957600080fd5b813567ffffffffffffffff81111561105057600080fd5b8201601f8101841361106157600080fd5b6103eb84823560208401610eea565b8281526040602082015260006103eb6040830184610fb3565b600082601f83011261109a57600080fd5b81516110a8610ef882610ec2565b8181528460208386010111156110bd57600080fd5b6103eb826020830160208701610f8f565b6000602082840312156110e057600080fd5b815167ffffffffffffffff8111156110f757600080fd5b6103eb84828501611089565b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561114b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b600052603260045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516111ca816003860160208901610f8f565b8084019050816003820152845191506111ea826004830160208801610f8f565b0160040195945050505050565b60008251611209818460208701610f8f565b9190910192915050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b818110156112565784518352938301939183019160010161123a565b5050809350505050826040830152949350505050565b60008060006060848603121561128157600080fd5b835167ffffffffffffffff8082111561129957600080fd5b6112a587838801611089565b94506020860151935060408601519150808211156112c257600080fd5b506112cf86828701611089565b9150509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156101ff576101ff6112d9565b60008451611314818460208901610f8f565b60609490941b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001691909301908152601481019190915260340192915050565b600060ff821660ff810361136a5761136a6112d9565b60010192915050565b818103818111156101ff576101ff6112d9565b80820281158282048414176101ff576101ff6112d9565b8281526000602080830184516020860160005b828110156113cc578151845292840192908401906001016113b0565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fdfea164736f6c6343000818000a","sourceMap":"779:570:204:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2265:198:58;;;;;;:::i;:::-;;:::i;:::-;;;516:14:207;;509:22;491:41;;479:2;464:18;2265:198:58;;;;;;;;1196:113;;;:::i;:::-;;;719:42:207;707:55;;;689:74;;677:2;662:18;1196:113:58;543:226:207;898:73:204;;;:::i;1077:143::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1550:110:58:-;;;-1:-1:-1;;3551:14:58;3547:25;3534:39;3499:25:207;;3487:2;3472:18;1550:110:58;3353:177:207;1224:123:204;;;;;;:::i;:::-;;:::i;813:81::-;;;:::i;1876:98:58:-;;;:::i;975::204:-;;;;;;:::i;:::-;1061:7;975:98;2265:198:58;2341:4;2360:54;;;2375:39;2360:54;;:98;;-1:-1:-1;2418:40:58;;;2433:25;2418:40;2360:98;2353:105;2265:198;-1:-1:-1;;2265:198:58:o;1196:113::-;1239:14;1268:36;:34;:36::i;:::-;1261:43;;1196:113;:::o;898:73:204:-;936:7;958:8;:6;:8::i;1077:143::-;1151:12;1178:37;1196:8;1206;1178:17;:37::i;:::-;1171:44;1077:143;-1:-1:-1;;;1077:143:204:o;1224:123::-;1288:12;1315:27;1333:8;1315:17;:27::i;813:81::-;855:7;877:12;:10;:12::i;1876:98:58:-;1915:7;1937:32;:30;:32::i;2743:383::-;3029:34;3033:14;3029:34;3016:48;3010:4;3006:59;;3076:45;;-1:-1:-1;3111:10:58;2743:383;:::o;1976:978:197:-;2052:23;2083:20;2106:32;:30;:32::i;:::-;2083:55;-1:-1:-1;2229:29:197;;;2237:4;2229:29;2225:605;;2269:21;2296;2308:8;2296:11;:21::i;:::-;-1:-1:-1;2268:49:197;-1:-1:-1;2365:27:197;;;2361:106;;2437:8;2447:19;:8;:17;:19::i;:::-;2401:66;;;;;;;;;;;;:::i;:::-;;;;;;;;2361:106;2476:12;2520:228;2589:36;:34;:36::i;:::-;3551:14:58;-1:-1:-1;;3547:25:58;3534:39;2698:13:197;2731:8;2520:47;:228::i;:::-;2496:252;-1:-1:-1;2496:252:197;-1:-1:-1;2496:252:197;2757:41;;2771:27;2787:10;2771:15;:27::i;:::-;2806:17;;;;;2225:605;2898:51;;;;;:31;;;;;;:51;;2930:8;;2940;;2898:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2898:51:197;;;;;;;;;;;;:::i;:::-;2885:64;1976:978;-1:-1:-1;;;;1976:978:197:o;3480:662::-;3535:23;3678:19;;3732:39;3754:16;3761:8;3754:16;:::i;:::-;3732:21;:39::i;:::-;3677:94;;;;3852:8;3865:1;3834:32;;;3830:97;;3875:52;;;;;3919:7;;;;3875:52;;;6531:98:207;6504:18;;3875:52:197;6387:248:207;3830:97:197;1693:4:2;1678:28;;1672:35;;1781:9;1770:21;1837:20;;1895:43;;4045:92:197;4062:8;4098;4045:4;:92::i;3799:97:58:-;3840:7;3862:29;:27;:29::i;6205:433:78:-;6332:16;;;6346:1;6332:16;;;;;;;;;6262:14;;;;;;6332:16;;;;;;;;;;;-1:-1:-1;6332:16:78;6303:45;;6387:8;6354:9;6364:1;6354:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6404:24;;;6490:80;1262:66;6535:9;1435:66;6490:21;:80::i;:::-;6403:167;;;;;;6583:50;6590:11;6603:15;6620:12;6583:6;:50::i;:::-;6576:57;;;;;;;;6205:433;;;:::o;3351:592:59:-;3415:13;3485:10;385:5:16;2502:44:59;;;3436:19;3583;3485:10;3583:7;:19::i;:::-;3560:42;-1:-1:-1;3665:12:59;3704:35;;;;:102;;3753:53;;;;:34;:53::i;:::-;3704:102;;;;;;;;;;;;;;;;;;;;;3833:25;;;;:87;;3872:48;3907:12;3872:34;:48::i;:::-;3833:87;;;;;;;;;;;;;;;;;;;;;3637:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3608:330;;;;;3351:592;;;:::o;6100:321:58:-;6247:12;6261:17;6304:6;:19;;6331:79;6357:8;6378:9;6399:8;6331:13;:79::i;:::-;6304:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6286:130:58;;;;-1:-1:-1;6100:321:58;-1:-1:-1;;;;;6100:321:58:o;501:217:95:-;704:6;698:13;691:4;683:6;679:17;672:40;6473:452:69;6621:16;;;6635:1;6621:16;;;;;;;;;6534:19;;;;;;6621:16;;;;;;;;;;;-1:-1:-1;6621:16:69;6592:45;;6666:16;6658:25;;;6643:9;6653:1;6643:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;6691:24;;;6777:80;1271:66;6822:9;1454:66;6777:21;:80::i;:::-;6690:167;;;;;;6870:50;6877:11;6890:15;6907:12;6870:6;:50::i;1766:227:24:-;996:42;1855:22;1816:7;;1855:22;;;1883:106;;1931:10;1924:17;;;1766:227;:::o;1883:106::-;1969:13;1766:227;-1:-1:-1;1766:227:24:o;15275:430::-;15405:12;15419:13;15434:12;15454:21;15478:17;:15;:17::i;:::-;15454:41;-1:-1:-1;15530:4:24;15505:30;;;;15501:200;;15552:51;15572:7;15581:8;15591:11;15552:19;:51::i;:::-;15545:58;;;;;;;;;15501:200;15631:63;;;;;:31;;;;;;:63;;15663:7;;15672:8;;15682:11;;15631:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15631:63:24;;;;;;;;;;;;:::i;15275:430::-;;;;;;;;:::o;8578:206:78:-;8688:14;8704:17;8754:25;8767:11;8754:12;:25::i;:::-;8729:50;;;;-1:-1:-1;8578:206:78;-1:-1:-1;;;;8578:206:78:o;3030:160:59:-;3093:7;3157:26;438:6;385:5:16;3157:26:59;:::i;:::-;3123:61;;;;;3030:160;-1:-1:-1;3030:160:59:o;1796:322::-;1866:13;1887:14;1907:80;1923:2;1914:6;:11;1907:80;;;1941:34;;;3152:1:2;3148:13;;3144:24;1941:39:59;;1937:50;1982:5;1937:50;1927:8;;1907:80;;;2023:30;;;10023:66:207;10011:79;;2023:30:59;;;9999:92:207;2023:30:59;;10107:12:207;;;;2023:30:59;;;809:21:2;;;2023:30:59;2073:39;694:164:2;4582:201:58;4704:12;4748:8;4758:9;4769:8;4731:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4724:54;;4582:201;;;;;:::o;8965:235:69:-;9075:19;9096:29;9170:25;9183:11;9170:12;:25::i;34611:1314:20:-;34741:23;34766:28;34796:24;34862:20;34885:30;:11;:28;:30::i;:::-;34862:53;;34976:65;35009:7;35018:8;35028:12;34976:32;:65::i;:::-;34963:78;;35105:24;35132:30;:11;:28;:30::i;:::-;35105:57;-1:-1:-1;35172:20:20;;35168:753;;35265:66;35313:7;35322:8;35265:47;:66::i;:::-;35248:83;-1:-1:-1;6184:59:15;;;35383:33:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35383:33:20;-1:-1:-1;35369:47:20;-1:-1:-1;828:4:14;818:15;;35424:21:20;35488:427;35506:16;35502:1;:20;;;35488:427;;;35539:27;35569:63;35611:7;35620:8;35630:1;35569:41;:63::i;:::-;35539:93;-1:-1:-1;35642:14:20;35659:25;:14;35682:1;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;35659:25:20;35642:42;;35694:110;35725:19;35754:1;35765:6;35788:13;35694:12;:110::i;:::-;35883:23;35900:6;35883:23;;:::i;:::-;;;35529:386;;35524:3;;;;;:::i;:::-;;;;35488:427;;;;35194:727;35168:753;34822:1103;;34611:1314;;;;;;;:::o;8203:217:78:-;6815:4:2;6801:27;;6795:34;6801:27;;;6795:34;8319:32:78;;;;;;8268:14;;8383:30;;8375:39;8359:56;;8203:217;;;:::o;8571:236:69:-;6815:4:2;6801:27;;6795:34;6801:27;;;6795:34;8636:19:69;;8778:23;6672:167:2;4754:171:3;4828:7;537:1:30;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;4850:70:3;;;;;4754:171;-1:-1:-1;4754:171:3:o;50556:360:20:-;50682:12;50706:6;50716:1;50706:11;50702:26;;-1:-1:-1;50719:9:20;;;;;;;;;-1:-1:-1;50719:9:20;;;;50702:26;50769:16;50788:41;50811:7;50820:8;50788:22;:41::i;:::-;50769:60;;50842:69;50873:8;50891:1;50902:6;50842:12;:69::i;:::-;50835:76;50556:360;-1:-1:-1;;;;;50556:360:20:o;5533:173:3:-;5607:7;537:1:30;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;5643:11:3;5622:79;5635:65;;5622:79;;5533:173;-1:-1:-1;;5533:173:3:o;55672:301:20:-;55793:13;55885:82;55916:48;55946:7;55955:8;55916:29;:48::i;:::-;4645:21:19;;4539:137;54475:274:20;54619:7;54724;54733:8;54707:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;54697:46;;;;;;54676:17;54669:25;;54649:45;;;44217:34;54649:45;:94;54641:103;;54634:110;;54475:274;;;;;:::o;6010:2380:19:-;6127:10;;6123:1542;;6280:2;6270:6;:12;6266:122;;6343:2;6334:6;:11;6316:29;;;;6367:2;6357:12;;;;;;:::i;:::-;;;;6266:122;6478:10;;6474:1185;;6686:2;:11;;;6560:21;6744:22;;;6740:135;;;-1:-1:-1;;;537:1:30;738:25:31;;716:48;6740:135:19;;;-1:-1:-1;;;537:1:30;738:25:31;;716:48;6740:135:19;7069:14;7063:21;7048:12;7040:6;7036:25;7032:53;7309:4;7293:13;7287:20;7283:31;7219:4;7215:9;7203:10;7199:26;7144:184;7117:13;7097:243;;7399:13;7389:6;:23;7385:36;;7414:7;;;;7385:36;-1:-1:-1;7562:1:19;7544:19;;;;;7617:23;;;;;7575:30;6474:1185;7694:253;7711:2;7701:6;:12;7694:253;;7805:21;;7783:44;;7880:1;7862:19;;;;-1:-1:-1;;7920:12:19;;;;7908:2;7891:19;7694:253;;;8015:10;;8011:375;;8323:20;;8233:21;;-1:-1:-1;;537:1:30;738:25:31;;716:48;8319:31:19;;;8256:9;;8229:37;8178:184;8135:237;;8011:375;6010:2380;;;;:::o;52539:191:20:-;52641:7;52705;52714:8;52688:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52688:35:20;;;;;;;;;52678:46;;52688:35;52678:46;;;;44145:22;52671:53;;52539:191;-1:-1:-1;;;52539:191:20:o;4976:669:19:-;5392:4;5386:11;5433:4;5421:17;;-1:-1:-1;;5307:16:19;5480:26;;;5307:16;5303:32;5452:4;5445:63;5552:6;5544;5537:22;5570:51;5575:14;5591:6;5599;5607:13;5570:4;:51::i;:::-;5627:13;4976:669;;;;;:::o;55104:230:20:-;55225:7;55309;55318:8;55292:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;55292:35:20;;;;;;;;;55282:46;;55292:35;55282:46;;;;44308:40;55255:73;;55104:230;-1:-1:-1;;;55104:230:20:o;14:332:207:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:184;-1:-1:-1;;;823:1:207;816:88;923:4;920:1;913:15;947:4;944:1;937:15;963:334;1034:2;1028:9;1090:2;1080:13;;-1:-1:-1;;1076:86:207;1064:99;;1193:18;1178:34;;1214:22;;;1175:62;1172:88;;;1240:18;;:::i;:::-;1276:2;1269:22;963:334;;-1:-1:-1;963:334:207:o;1302:245::-;1350:4;1383:18;1375:6;1372:30;1369:56;;;1405:18;;:::i;:::-;-1:-1:-1;1462:2:207;1450:15;-1:-1:-1;;1446:88:207;1536:4;1442:99;;1302:245::o;1552:336::-;1616:5;1645:52;1661:35;1689:6;1661:35;:::i;:::-;1645:52;:::i;:::-;1636:61;;1720:6;1713:5;1706:21;1760:3;1751:6;1746:3;1742:16;1739:25;1736:45;;;1777:1;1774;1767:12;1736:45;1826:6;1821:3;1814:4;1807:5;1803:16;1790:43;1880:1;1873:4;1864:6;1857:5;1853:18;1849:29;1842:40;1552:336;;;;;:::o;1893:220::-;1935:5;1988:3;1981:4;1973:6;1969:17;1965:27;1955:55;;2006:1;2003;1996:12;1955:55;2028:79;2103:3;2094:6;2081:20;2074:4;2066:6;2062:17;2028:79;:::i;2118:419::-;2226:6;2234;2287:2;2275:9;2266:7;2262:23;2258:32;2255:52;;;2303:1;2300;2293:12;2255:52;2339:9;2326:23;2316:33;;2400:2;2389:9;2385:18;2372:32;2427:18;2419:6;2416:30;2413:50;;;2459:1;2456;2449:12;2413:50;2482:49;2523:7;2514:6;2503:9;2499:22;2482:49;:::i;:::-;2472:59;;;2118:419;;;;;:::o;2542:250::-;2627:1;2637:113;2651:6;2648:1;2645:13;2637:113;;;2727:11;;;2721:18;2708:11;;;2701:39;2673:2;2666:10;2637:113;;;-1:-1:-1;;2784:1:207;2766:16;;2759:27;2542:250::o;2797:329::-;2838:3;2876:5;2870:12;2903:6;2898:3;2891:19;2919:76;2988:6;2981:4;2976:3;2972:14;2965:4;2958:5;2954:16;2919:76;:::i;:::-;3040:2;3028:15;-1:-1:-1;;3024:88:207;3015:98;;;;3115:4;3011:109;;2797:329;-1:-1:-1;;2797:329:207:o;3131:217::-;3278:2;3267:9;3260:21;3241:4;3298:44;3338:2;3327:9;3323:18;3315:6;3298:44;:::i;3535:320::-;3603:6;3656:2;3644:9;3635:7;3631:23;3627:32;3624:52;;;3672:1;3669;3662:12;3624:52;3712:9;3699:23;3745:18;3737:6;3734:30;3731:50;;;3777:1;3774;3767:12;3731:50;3800:49;3841:7;3832:6;3821:9;3817:22;3800:49;:::i;3860:450::-;3929:6;3982:2;3970:9;3961:7;3957:23;3953:32;3950:52;;;3998:1;3995;3988:12;3950:52;4038:9;4025:23;4071:18;4063:6;4060:30;4057:50;;;4103:1;4100;4093:12;4057:50;4126:22;;4179:4;4171:13;;4167:27;-1:-1:-1;4157:55:207;;4208:1;4205;4198:12;4157:55;4231:73;4296:7;4291:2;4278:16;4273:2;4269;4265:11;4231:73;:::i;4539:321::-;4747:6;4736:9;4729:25;4790:2;4785;4774:9;4770:18;4763:30;4710:4;4810:44;4850:2;4839:9;4835:18;4827:6;4810:44;:::i;5189:441::-;5242:5;5295:3;5288:4;5280:6;5276:17;5272:27;5262:55;;5313:1;5310;5303:12;5262:55;5342:6;5336:13;5373:48;5389:31;5417:2;5389:31;:::i;5373:48::-;5446:2;5437:7;5430:19;5492:3;5485:4;5480:2;5472:6;5468:15;5464:26;5461:35;5458:55;;;5509:1;5506;5499:12;5458:55;5522:77;5596:2;5589:4;5580:7;5576:18;5569:4;5561:6;5557:17;5522:77;:::i;5635:335::-;5714:6;5767:2;5755:9;5746:7;5742:23;5738:32;5735:52;;;5783:1;5780;5773:12;5735:52;5816:9;5810:16;5849:18;5841:6;5838:30;5835:50;;;5881:1;5878;5871:12;5835:50;5904:60;5956:7;5947:6;5936:9;5932:22;5904:60;:::i;5975:407::-;6058:5;6098;6092:12;6140:4;6133:5;6129:16;6123:23;6165:66;6257:2;6253;6249:11;6240:20;;6283:1;6275:6;6272:13;6269:107;;;6363:2;6357;6347:6;6344:1;6340:14;6337:1;6333:22;6329:31;6325:2;6321:40;6317:49;6308:58;;6269:107;;;;5975:407;;;:::o;6640:184::-;-1:-1:-1;;;6689:1:207;6682:88;6789:4;6786:1;6779:15;6813:4;6810:1;6803:15;6829:925;7278:66;7270:6;7266:79;7261:3;7254:92;7236:3;7365;7397:2;7393:1;7388:3;7384:11;7377:23;7429:6;7423:13;7445:74;7512:6;7508:1;7503:3;7499:11;7492:4;7484:6;7480:17;7445:74;:::i;:::-;7547:6;7542:3;7538:16;7528:26;;7582:2;7578:1;7574:2;7570:10;7563:22;7616:6;7610:13;7594:29;;7632:75;7698:8;7694:1;7690:2;7686:10;7679:4;7671:6;7667:17;7632:75;:::i;:::-;7727:17;7746:1;7723:25;;6829:925;-1:-1:-1;;;;;6829:925:207:o;7759:287::-;7888:3;7926:6;7920:13;7942:66;8001:6;7996:3;7989:4;7981:6;7977:17;7942:66;:::i;:::-;8024:16;;;;;7759:287;-1:-1:-1;;7759:287:207:o;8051:837::-;8311:4;8359:2;8348:9;8344:18;8389:6;8378:9;8371:25;8415:2;8453;8448;8437:9;8433:18;8426:30;8476:6;8511;8505:13;8542:6;8534;8527:22;8580:3;8569:9;8565:19;8558:26;;8619:2;8611:6;8607:15;8593:29;;8640:1;8650:169;8664:6;8661:1;8658:13;8650:169;;;8725:13;;8713:26;;8794:15;;;;8759:12;;;;8686:1;8679:9;8650:169;;;8654:3;;8836;8828:11;;;;;8875:6;8870:2;8859:9;8855:18;8848:34;8051:837;;;;;;:::o;8893:653::-;9033:6;9041;9049;9102:2;9090:9;9081:7;9077:23;9073:32;9070:52;;;9118:1;9115;9108:12;9070:52;9151:9;9145:16;9180:18;9221:2;9213:6;9210:14;9207:34;;;9237:1;9234;9227:12;9207:34;9260:60;9312:7;9303:6;9292:9;9288:22;9260:60;:::i;:::-;9250:70;;9360:2;9349:9;9345:18;9339:25;9329:35;;9410:2;9399:9;9395:18;9389:25;9373:41;;9439:2;9429:8;9426:16;9423:36;;;9455:1;9452;9445:12;9423:36;;9478:62;9532:7;9521:8;9510:9;9506:24;9478:62;:::i;:::-;9468:72;;;8893:653;;;;;:::o;9551:184::-;-1:-1:-1;;;9600:1:207;9593:88;9700:4;9697:1;9690:15;9724:4;9721:1;9714:15;9740:125;9805:9;;;9826:10;;;9823:36;;;9839:18;;:::i;10130:530::-;10315:3;10353:6;10347:13;10369:66;10428:6;10423:3;10416:4;10408:6;10404:17;10369:66;:::i;:::-;10504:2;10500:15;;;;10517:66;10496:88;10457:16;;;;10482:103;;;10612:2;10601:14;;10594:30;;;;10651:2;10640:14;;10130:530;-1:-1:-1;;10130:530:207:o;10665:175::-;10702:3;10746:4;10739:5;10735:16;10775:4;10766:7;10763:17;10760:43;;10783:18;;:::i;:::-;10832:1;10819:15;;10665:175;-1:-1:-1;;10665:175:207:o;10845:128::-;10912:9;;;10933:11;;;10930:37;;;10947:18;;:::i;10978:168::-;11051:9;;;11082;;11099:15;;;11093:22;;11079:37;11069:71;;11120:18;;:::i;11151:639::-;11401:6;11396:3;11389:19;11371:3;11427:2;11460;11455:3;11451:12;11492:6;11486:13;11557:2;11549:6;11545:15;11578:1;11588:175;11602:6;11599:1;11596:13;11588:175;;;11665:13;;11651:28;;11701:14;;;;11738:15;;;;11624:1;11617:9;11588:175;;;-1:-1:-1;11779:5:207;;11151:639;-1:-1:-1;;;;;;;11151:639:207:o;11795:184::-;-1:-1:-1;;;11844:1:207;11837:88;11944:4;11941:1;11934:15;11968:4;11965:1;11958:15","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","call(bytes32,bytes)":"3ae7af08","callViaSelector(bytes)":"96f09da6","echo(string)":"f15da729","msgSender()":"d737d0c7","supportsInterface(bytes4)":"01ffc9a7","world()":"30b67baa"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callViaSelector\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"message\",\"type\":\"string\"}],\"name\":\"echo\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}]},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}]},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/SystemSwitch.t.sol\":\"EchoSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/gas-report/src/GasReporter.sol\":{\"keccak256\":\"0x2ce3fbd09098ce05ae68684405728c73470ff9ee8c9b1359ff230ecfa5d4d5dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7cf74103308e356e0f30d237f0fdc9864a9cee6a8bafe76baeb71f62b8c6d798\",\"dweb:/ipfs/QmTcACXKUxBZTwfdvJxiHiU8zXMzk732HUzcdiTU9vh55W\"]},\"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\":\"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55\",\"dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0xc6aa930fb9a3df986870e3c77e567cabff12ae5e7b2c2af69669390e018d3728\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8d6d40675ddd6575538cfa915f73fc8379f4c154b034220df2cf6b7be6d9baf\",\"dweb:/ipfs/QmS7RNEDNBq6YwVJ1gPfs36CJg9d6h5MaxPRtuL3726uEK\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4\",\"dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0xa95a7b8095a313078abe9b3953fa4512aac88ead4526e37023583cb5dc274cb3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a878403e5133ec5f250d752e7b7495e2b13420cd3a42fb59aa6d5f8ee6d188b\",\"dweb:/ipfs/QmUGxeD5Y7B5goNNgFcgaAakjoSr4YtVaE3CMAypRUZGmc\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb\",\"dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84\",\"dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xfdeeba7e17c947285610d49d85d402cfe5286c046814f827c1aaa37636c16d8f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5fde8b7c7caf4dcdcb524565cb8745d897d4d22d88fa0744f9db4b3d36a1eee1\",\"dweb:/ipfs/QmbUe4pfJeRqiiPz31BKWbYv12cz8Lz3Ky5yKydtTb4FY9\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x677224ab340753edf523ccff8c9d6ede987addbf0d7bc13d0e479306f3866a99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c0285a7684490d6e65d6f91b3631abdafb135d200ea9068e730dd98017a305e\",\"dweb:/ipfs/QmcURHZiMGnSET9P2iSgph22F6iFdoDbN4WmJsHxTAT5G9\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924\",\"dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67\",\"dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263\",\"dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912\",\"dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x6dc7a614a120b1940ca8de1924e59895a42ef5f0e22d81a9221790fd76687c2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b638521a9590a62c4e976f12be43d0370246836b90227cbf2e306888331986f6\",\"dweb:/ipfs/QmcEpcjHhL9rawjJRuMJvtTv3YwN2ggYsQHXZeoF88VRFX\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2\",\"dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x21d008da9dd112938ad5381264dce39be7855002076afa01d78dc6421a951fd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1af33c3d662d6ba193987ec62c865e05b53ced4904bff9a5729ab3ada2ca3a99\",\"dweb:/ipfs/QmUSXF3R7LwQWW8P6BZCrt3MAgGN5UwiiaHB3DGCSBZLL5\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x1f04af14e5040f71bd3daa79b90245a275e52f8d0294c17ae5bfe9aa727651a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d76533959ded2f58434ae9f89fe8c3ff66095ec94e829f89914b362751799e3a\",\"dweb:/ipfs/Qmb1e12g6Sku2u1R96qei1GhqSNi1sZhKRCb111SyNk1ta\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d\",\"dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x7cafc150d77cb46ecb49b1a1a7d43cc17e21a095596cf544cc8ba6bfe7ed7f20\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://889cadacfbc667e10a7a83ac34e858c76d0472d04cad72c7691a84879e503ce3\",\"dweb:/ipfs/Qmcm6GFFoGFw2nmuz3Z2NRAgqfBPFZixHppmQzZM4Fy3sR\"]},\"node_modules/@latticexyz/store/src/StoreData.sol\":{\"keccak256\":\"0x9d740905a6bd4e322f7cc6f7837fe80d7733f7604d2077e45b58b8c3e84b67dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c53f83af2b84c740ede7fa379d92d86ab2e94341296d930114fa58c0380fd210\",\"dweb:/ipfs/QmTUf3nL1fqKQXuTQF9HyjeWXdXYGemD2EzXUB3BjaNS2A\"]},\"node_modules/@latticexyz/store/src/StoreRead.sol\":{\"keccak256\":\"0x9fdfe426fd74b31fe309efbd9bf30bcfea7457366f8c8138cf0ee0bd983d6c28\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bba26fa27f64c5560708391c09da78a1e8bbaa6b5d515aa7692a57516319ecd\",\"dweb:/ipfs/QmQmDtwG742BMqW8qgiMAccdpZbzxQyyVnW9LMETP2NBVF\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff\",\"dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0xa59c43271d363f2366d6f6732ae586b1a36a3ffa4906b8f5cbbf19d3d314562c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2bd7c9f8f9ad579a8dfec566b2bd2e646f8065ce8a07e6732e11a4a3a2be7787\",\"dweb:/ipfs/QmWBwZGnYYxEiRjFKSsu1mFtCWJYw3XSojhn7zmc5YE4vG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x2e81480e081ce6ad4917ecc634e5c9b7a5674068992ae8d9088f0f6296da3bf7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2acfdee4dd4c0347ec214273184f267db0e7edc82e586600501d13581dbb5551\",\"dweb:/ipfs/QmcD945zNdGfkwKVvKHA2fpBGictaz4cVMnNm96SmTG5qY\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0x29ed1bd962e594e00a9b921ddbbb202a47206adbece718721483a69593b88763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://786df2eca996d18660a4ea7d059dfb8c8476fe5cc8f14e0ce5c8f237e08444ea\",\"dweb:/ipfs/QmQ8dbVA2rMgcb9rznHVjn8DGH9U8bZuHmebukjkYxs2Av\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xe9c42e51b6d20496dde8e8013680ec4a4ea1229fd57f0364a2a061c14c1c115b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2bcbeeb7b3de32fc68102f7875d71348d5a0171dbb50937d6ebeb28dd10d4ed4\",\"dweb:/ipfs/QmPY91z4D25KGLU2nhnZgb538Mh1mi46RbwHQB8kZvXd4h\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xf80e355b361d29b0169483074b73e2502b228d539d5b3511239edfa9644ae270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://067d0b61a94453ed29f985cee8d237b46ef1c95f790848a927951e951ebe5a44\",\"dweb:/ipfs/QmVjF2vEnRXzq1GHXwXd9iHJAfyrZNA2wAuygpZv6dGRTB\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2\",\"dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38\",\"dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64\",\"dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb\",\"dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4\",\"dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf\",\"dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205\",\"dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed\",\"dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xc1b9fa9167dc3d39d5591d0b2d5f7c3c12ad6aeaa0a1b83b1e326ebd104de439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0ff59e3240fc85509fc5a1bc9c158f2056bd4be82ba88100ed138afc08d60c\",\"dweb:/ipfs/QmZScS3xhT8EMX4RrnVEqWm1VrGBG9JiA6aiZWtWMphF7q\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0xd049053827c730ad69585c1c7eb52b4fd9774370063aab461021a111ee0bc86a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5a05e41e45c0054e835565046276d830581ca181e7ff3d83b15c71b6e01af89\",\"dweb:/ipfs/QmZYGFT621rS5fE2WXKX5wqBMENguMuY7DqaXPkZ2rcEfZ\"]},\"node_modules/@latticexyz/world/src/ERC165Checker.sol\":{\"keccak256\":\"0x26204bcfddbc272eae391f4512a629f53697867d582ea8cabcd6a8e04a255270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46944bac8253250ba3f645a6164df8e996738bc76a544867677e54ede57619a1\",\"dweb:/ipfs/QmY1XSxQY9MuQSEvGaeQT6kqmeJ3VhYyRRTfzCkRmdsWsX\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d\",\"dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3\",\"dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0x6c11c44fef08d46ca9f291551a42b8576259f65b7e957aef92540ba0acd72909\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffbc3646ea495350939319f5418ba2dd45b6ec809d6b84ed3264e592a9385bd\",\"dweb:/ipfs/QmPCjuQUMWVUPv7vSVfztnymYA9hUP1xRS62FD6iwzGMuo\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc\",\"dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db\",\"dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x149d3c2b4bbea21047fc8cf79236488764dd8dde6e440dbc37067a8ce8831bbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2f340a5616cafd1d80e6ef79f1620102d3d64730c6aa19ecdbb4ca86aaa59b2\",\"dweb:/ipfs/QmWoXP1BKj8U3ZXXoiTRENCxVaaCxrKAenwCZbCVbyfaZ7\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xf15243b03fdc6e5222aefdaad74fffc909f9058f9d8d6ba06acb797197f74635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3f4ecb21499e677697dbe71002a5e96651fb0d8c279c4065e6441f13a9c75b3\",\"dweb:/ipfs/QmZ7oEHWK85aetzt9uJ3bmJJKLZkK5PoaakxiEDq4xEEww\"]},\"node_modules/@latticexyz/world/src/Module.sol\":{\"keccak256\":\"0xfdfdbdb1373ff83d8529865e21bbe796025861140a0a96c7183bcc6999ba63dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c1d003f9a28bc9098cc669406f569905a7726fc17cb07a6a6027531aebe5020\",\"dweb:/ipfs/QmPrEP9SRfKRouAQmVn6dq4MgguBPboMdMPg88WqBjsjgn\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0x1d380574763b720a8950dc0a14d519c2532f9f27c8115116f0a6f7916c9606b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a395df820ee46be3dcdb36682183811a86cdc848dbd56ecc2a21785a42785cf9\",\"dweb:/ipfs/QmeiuzuHjQuv4GHXXiRkBkxhyN7e9Vy19TYfAccnxWej91\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x9c3e1e5eb40d130e90726ca4bfabd748d190d076ecd95c668f038635f751cad2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40ba8d4ea85cdac5b622117bf70f56466bfd8b3b693fbb4ab266630768f8865d\",\"dweb:/ipfs/QmQ8ttFdCFJdw1thyDJHheoWNkdpQUM2u7kZzi4zj6mYh7\"]},\"node_modules/@latticexyz/world/src/World.sol\":{\"keccak256\":\"0x5f02e221a1f088b56d81894e210ccd97c097b8da2cdc677d073c2722f2a0564a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02134a975fb146c5b37ce8472245982120b13000a8628b99395200458e3fd5ef\",\"dweb:/ipfs/Qmd2Zq9LX1kkEE5UEA6oFWnSpBPTX9F9iU2Z74GHSaDwXX\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006\",\"dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74\",\"dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xea5256f37d5f373dc0d008b30a44f46f85d5aa4826c9c9702e3a62cafe4fc00d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5f34c70731153f300c4d89b4ddcfd0b02834abf208fcd2ec5863fb1dc5bde74f\",\"dweb:/ipfs/QmdmCzFDr6WmSQ23b2T3aaJhJ6Qvzhc9UaE5z33adciAd4\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xd9ead56302e6ce3f7958983f6652c2712df74ce83cd002248b235769bd5f87d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a925eab29746fdcff87662142f61565d64bfa108ee14a9a5d496413c150533c4\",\"dweb:/ipfs/QmaFXKnfuMbkaZCEz3e2J3Nx49keqvmaGa7QLBvbj1ntYt\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0x7451726394ea4c39dcca268895499a7d908bd868092cf9b133772077ad5c6a6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c102f036a0ce081255c1088c75e823e5eb5dfdf36ade55d45a6c3914e2a4a5e5\",\"dweb:/ipfs/QmUWEstc4kRhqvUc5sbPyCvy3kvH3hzmH1GrP8MjyQYy3v\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0xd71d9a5a1ee5969cbfc548ddcd01814293d57b5c7f40df0a8ff926df43ec9d9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6377994ebe168759b1f8ed17d4621720d66259c3ebff77acc2f7cc7dd9fec45\",\"dweb:/ipfs/QmeNaatg7JTe6tLc2RbC28SLEQTJFddXy5xZHmqi9zQ9Jx\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0xba969b5b252d1eb26f22908e4581456a6791e02e693cb14f48de35feb31b56f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34fcc11f5a70bcb51ea1ca76587e7dea7dfb940f522c820988212573a9ca32b6\",\"dweb:/ipfs/QmQSgQdJiXMVVSU5woFMC1mAGJBicBeoQUZ5UVX94UjJbX\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0x90d05ad5b6ce321f2d15d93cc6d126c0332afd161cebd008ea115a552bb0e772\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a6bd7a337b1a8ca9ce2c853db9003352895697d43bdf8c49da850ee19990aa8\",\"dweb:/ipfs/QmbvpN53672EQZMAfmDEC8bP6MRYUnAqLDRUmkkv6DMrAT\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xfe79af16bea789b894c322b3796b7a5fd3042d2da0ea808768e1588bff53056c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15a2c7d26d21773fa41dd3891553ad57520f0c401627da8f79c11751b0fca478\",\"dweb:/ipfs/QmZYpNkSXqqz5tUeqNwppY7Q75ec9gGPv7BkjUJc87AZFE\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x705f45c60cd9f5cf5ed2b92d73bef71f2c234ec281297dae79779860cfdf9e6f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b927d760e5f09c72c421ad62ab8da11a38a2a47d321e6b023e3d7c2a4a46a458\",\"dweb:/ipfs/QmXMDWhE5gVHURzFAL7cyA7EeFJRkykZRZwRV9qrTBj13Y\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x88a0bc28aa9ef62f524fd2592cc0aaaf3e33a8cb0c7674c6dba7f2115be551f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c64f10d7f97971fca0b7b2ab5b38f8d06d85d54b7b34d8ddc90da17264dae7dd\",\"dweb:/ipfs/QmeMgiefFv9fvetswGBG3q2LzL1SJ6zNwBwupSgVpSmpDG\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol\":{\"keccak256\":\"0xfcaedc1b1a23f7b2c40fbc5cc71d1781de18f0b1cfbc40a83876852659137d2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8bad7219652c0f76a46107facc5fdcde7c1d3798d201499d87a7f584ac46db7\",\"dweb:/ipfs/Qma1yhF31Q9wxDYjQ8eCYdjpLVXjC2VVHMCipUjPVrRVdF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InitModuleAddress.sol\":{\"keccak256\":\"0x4d0a317051e00a64696a4f9a749f95953dda5ce6fc086b194f54276af1510395\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e96a02aa8a528d9d18d741a5cac7c19200ee5739ec92d42faafbf64efeeeb69\",\"dweb:/ipfs/QmXkeMC6EyH3b6px685Dgfd5uGnrkfBUAQ4n1S8bsicEWd\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x6d247eea47c3566ea8e71b39e662607509f7a2080eabddf83c9f6b0682d27edc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab03d2cf026d39902ec68c3665a6779053e82e0f60bccfe2810be4b43f05894e\",\"dweb:/ipfs/Qmdzg8bmkWjN4mw9EfnHFqYHpTJACGm9YoYZDZhX1MMamY\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x05b07d7a06c7e801fb0c0143dde8fce02907d9940f2862b63dcf085d43e54fdf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18eaa2e74e9db4d142a7743c6ab9bfa5e9ff5c3700c0db148840266c4ac8ad35\",\"dweb:/ipfs/QmRiBMxuzDRTST9C4nu8jo6z2D44HYG6VEpKNyDPa6HMhS\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x1bf6746d0154dc5464f394e5b3d8d66398a55eaff68f6e2c3f3f964d8daf39cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b902e62ea9758145aaa0677c04b764cf721ba103b8294191cdc4ba6c25f3ba9e\",\"dweb:/ipfs/QmT3m18HiJd8BT1j5pWeXkGMQjqRCfKDiFvoBTBJ8ZKruv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x57b12c2ff2649db6dd7e2acacece0c5fbdcc0f0bff9b28c685c93d4372688568\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a9c39f46cf1e43b13b4a94fad22fde80223f6b5e39c87ca5a8f5d76432d1a3c\",\"dweb:/ipfs/QmNdEEiM7acceMy4ojy9oFKvba7Yjm3MXF1hpnRoWTaAsD\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0x65c5544ed57f2e01d6729339461496fa3db50dd843db6de163e6cca2b9b17c68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d8acc162ac647954ffcfd98f6083823713b10d8dc4a05defc18199e9929faf2\",\"dweb:/ipfs/QmVEwCPrDFcQ84qbJyfm3dNEXuqMbUVVqi5DddmJUREriD\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x98b313c90edc060aed54e1728c5931e104914d485dfb0099099dc469773c6194\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://595d820d40e7faceb413613f24d56e82d13e3e53dd86c69627f1c0f134b5705c\",\"dweb:/ipfs/QmUosi7xfNsg5ehaPNZ7tpU3UxyBMbfQW1ESyqH8Bk73JU\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0xb9b4eada80dfde28cc334d7a8ede2a57b92f3b42f3501af693ba981ba38b8f21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6edf1eb4a0d1730b331eff58f3f26aa037fed7767b6d420a28b905134908bf7\",\"dweb:/ipfs/QmXyZNb5SvwLJ7eG2mrFLDyC6Q2wKPGiHyeQQ21cQLujJR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x25c8832ec6db8bc83d0a3c274d8cb49f93bfc57e2b0125c739caf19c1a2c8a51\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a226cf322efa14384b1191263136af4792d5e6285a7ffa9030218a44ec97d571\",\"dweb:/ipfs/QmYC19AoGU6v15mzTKq2oHWMKUeRnzxGEkKgHVEUcUKw91\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/InitModule.sol\":{\"keccak256\":\"0x2350a2a13cdf3e5420fa9881506936bf32442e4ddfc181c2d499d989e3cd34b6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24ec25478a659cca0c9529366bc139b80d302b5ac201abcec67316cf01e1f3d2\",\"dweb:/ipfs/QmegoDuhwLYsuoR1cXwEerUHkLUKyYC4C4TgZBNJXxAtik\"]},\"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol\":{\"keccak256\":\"0x95e23ed6d143242d8232f484f86c5ed14964d3b3b592a83ac8ad22239a9001aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2974121de686e47139d8adb6bdc7fd0854a56c745cc0497b8a8d88b55a3e77d6\",\"dweb:/ipfs/QmcXGbZL3wnFdJA8cvj9NnQtrnmkj2co84u3CJphYMg2Lc\"]},\"node_modules/@latticexyz/world/src/modules/init/RegistrationSystem.sol\":{\"keccak256\":\"0x10711eaec9cf4f8b64dea5d1956bc80a3bd3c20cf33163a37aefc93d7f9d0be9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5129961b6452d3215fb3c1453da366e5b87cacb9373300879757d48b3c067e9c\",\"dweb:/ipfs/QmRidqUXVZ5jKZes37RWv9MqTmigMUAL1mbMNyeUm1Q3f9\"]},\"node_modules/@latticexyz/world/src/modules/init/constants.sol\":{\"keccak256\":\"0xe7eb58bdb9ebaf16162db44d7b02d7e95f70ac46910c19649bb57b835f96dad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23227e603db835db6390e872d11569749c8c8f22de770aa775ab7c99f450a752\",\"dweb:/ipfs/QmZkGgdNqbno253umMW8sCHC3QKd5WLjrQi7CbH74x36Z8\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/AccessManagementSystem.sol\":{\"keccak256\":\"0xfe822e975fe2c517969c869cfbdf93a3b19ac592f1b8fc1506df406a06de7ad2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd871128dcdfe0d6e1e94e850697f5a3ba92cba7c73ddadfdcfdf662764685c8\",\"dweb:/ipfs/QmakCjH7YD5onmsRXvz3uF8J2rYLyZuKp7Hnudb2ujmR2n\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/BalanceTransferSystem.sol\":{\"keccak256\":\"0xd8e708ee700909e384843edde3d9838463829f5ef241935c7cf9a4369142d50b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ab83e7fe45851c2eb2e42a1710a3fb72afae67c081160d9b2cae781db8b0d9c\",\"dweb:/ipfs/QmWCwbEVWLazh7y41pBFrMe66NW7bmWYJrkJSizvZLvSm8\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/BatchCallSystem.sol\":{\"keccak256\":\"0xcdcc115c3c0e23f385e4821beba4d3ec1c091d34edacc6b3ca7d0d53c5429ad7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b63292fd9897da4068d6821b7e8fcc5a7da42b695501c8c3113816f271e89160\",\"dweb:/ipfs/QmPfVA8VrydLvmWFDTWAthuH7wakGCRR9BL2i5UcBMaTqC\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/ModuleInstallationSystem.sol\":{\"keccak256\":\"0xe00ff4886f017f75372be42ced66025a2d200d780198a89022bda32424927f93\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb75902a76ab392bd46170a64ab575232ae172f47bc7ec095016fe2cf344a216\",\"dweb:/ipfs/QmRJsK7ZtS4mm3JmXDW5uLaeCdBPShMVYmDmNjCKiv1k9z\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/StoreRegistrationSystem.sol\":{\"keccak256\":\"0x6de6e033845658f714e478982b9125bedb74d4db4e5794e647bc3c4fb6b5f84f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c22d4ee79114f3a59bc7da6bc74e9ca0412a5c0bd606ccf79b141064699d2a7\",\"dweb:/ipfs/QmRuVPECJGZTw9k2PfAdDbbUUnptAF4e9VcqMkzhJ9mBBL\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0xe4b91af36de3852dea10f354ee91b7e6c8a78a0f4c40f72b94bdca411599ca6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd5e616104f0eb8c261f55901579b09871e91784995e3cb1055ac575995f7535\",\"dweb:/ipfs/QmYinJme183sz4QXH642734s62U8YkGWZ5fNPPfC6GzJmw\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x1876630a009a39e1a771e5d05d420731b85523b4fe091ce04a72f6f283f5e9b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1166a3d9f7db80d2e041def918fa54baa0f4d51edb35731a8b2bf6ee76810411\",\"dweb:/ipfs/Qmf5VmgLsWJy3Tea5JM9mzCKJ49NJC1fRcgWGVFruusBgJ\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x95e9469529f790727966c513ed19b42abf065a2cd482faba4b8e3404edfb8730\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da63bf514679a87134d2c36563c9c398906e1e06b27cb17eed10895cd7c87658\",\"dweb:/ipfs/QmUrfkw8YTs6zUq5eaWPgdLmTUJVsp1CRBGQz6kdh7bs3C\"]},\"node_modules/@latticexyz/world/src/requireNamespace.sol\":{\"keccak256\":\"0x3a98f80c6438d8670281c5ef1ecfc7ddc9c7c0d09fa66d54dda4fa812c89baa1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb7093a4816d52af381d8959601046a1d307fb32b11dfb787813144eb01ca9c6\",\"dweb:/ipfs/QmUj9hw39TNTtamhWvYAe647CYvNuTfxwsYSu2H4QmHfPi\"]},\"node_modules/@latticexyz/world/src/requireValidNamespace.sol\":{\"keccak256\":\"0x75f4a72a942bd59d237e6a1329da8f9a582b8d3d94ffeeb2ee4d7cfe992881bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d6d3c0bb90663d8d411ef056faf0a126727fdeba806efea4403815943b94027\",\"dweb:/ipfs/QmXrAEDnRrqj3137fXPc91jyDMHFZHHJ39NmMUEh1y2AgL\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8\",\"dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0xf312c694828e49cd263d1df8ba82beb0376ce8dce1337f9e62ec52e3ed36a145\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b060c176e46fa6e55d2f525d1f1c64e3c371e6bf24b6d0ff05ae20b3c0c0c0d\",\"dweb:/ipfs/QmdLfnBQrYnLq1iwjX9UyzpDqe6EyJ21T56ZWUVJr1VQCy\"]},\"node_modules/@latticexyz/world/src/version.sol\":{\"keccak256\":\"0x940fa33f2a4986bda788f9418fe4e51ae206a6e4954721443cec11ebf2e700be\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3aacb56ffa02e40a60b9343aae4fe7c0d9623b74c6ee70b9a42f8428e64e4d4e\",\"dweb:/ipfs/QmNXwHcUzNEvqjaSTdooSV3hhCkGadpT9peQAmhLaQTj2k\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d\",\"dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12\"]},\"node_modules/@latticexyz/world/test/createInitModule.sol\":{\"keccak256\":\"0x33c10482c6b5ef633dcf13d189c5e2784c46a9546fe77e3ca1817319cf88c383\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6b34b376720cde9198eaf0580ae627d0b6cb1288dcc3c1d25f239f91a57ebdc\",\"dweb:/ipfs/QmSYrvgzwd5tmwRta3DAEhokbXAyEX9ZGwpM44S1X2S6Wa\"]},\"node_modules/@latticexyz/world/test/createWorld.sol\":{\"keccak256\":\"0x59bb3ecd3c665237a7f2a21220c8526bcf3b12475af458bea0ad7d7403e31196\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c7ba0904844102cf553f2986f910ba9c143c7a38aa6ce27280a13e68a058ee4\",\"dweb:/ipfs/QmYFgCZt9CDaoAeqjLy8LbujQntZLB58mbdLECEnV5Uq8f\"]},\"node_modules/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"node_modules/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"node_modules/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"node_modules/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d\",\"dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx\"]},\"node_modules/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"node_modules/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"node_modules/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c\",\"dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss\"]},\"node_modules/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"node_modules/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"node_modules/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"node_modules/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"node_modules/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"node_modules/forge-std/src/Test.sol\":{\"keccak256\":\"0xf3b62c75cea11a0e8ef8e6526e5e5c74ae47a892b9bcefc0e98d76066e1ffd24\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a41faaf836453e02c71fc272c80b3c90a614b30c9ba636512db0d033c7b93beb\",\"dweb:/ipfs/QmeQAreYYaxztQtFLQdHCzCPEorj9T5foSu2hQmxk7xT5x\"]},\"node_modules/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"node_modules/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"node_modules/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"node_modules/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"src/utils/SystemSwitch.sol\":{\"keccak256\":\"0xd00e5d128bf7b01d144fc41fa43fce599730deeb3afef0cb42f8d0dfbfb672fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a1f8b79c130f7d7c31eba17471df5750453c8d50faddceaa03b6d53b5bbb1fc\",\"dweb:/ipfs/QmbYaAHYDQJSPm9Ce72AqerVv3WSrJFFEmabvR6HZfyY8h\"]},\"test/SystemSwitch.t.sol\":{\"keccak256\":\"0xbb2c476611fbafe4dc7f71f2156cadc99e799cef1f1fb5b95e6dc94eead03e9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f65883b86c8dda8e2b5619228c45c8a463bb23e7ceaabe49217988f37a5795a\",\"dweb:/ipfs/QmXZFVgeHkfFtgqMfN2GPZ4Wejd2PfBkKtGqKPpZ3kyYPn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"callViaSelector","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"message","type":"string"}],"stateMutability":"view","type":"function","name":"echo","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"msgSender","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"world","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"test/SystemSwitch.t.sol":"EchoSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/gas-report/src/GasReporter.sol":{"keccak256":"0x2ce3fbd09098ce05ae68684405728c73470ff9ee8c9b1359ff230ecfa5d4d5dd","urls":["bzz-raw://7cf74103308e356e0f30d237f0fdc9864a9cee6a8bafe76baeb71f62b8c6d798","dweb:/ipfs/QmTcACXKUxBZTwfdvJxiHiU8zXMzk732HUzcdiTU9vh55W"],"license":"MIT"},"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":"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd","urls":["bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55","dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0xc6aa930fb9a3df986870e3c77e567cabff12ae5e7b2c2af69669390e018d3728","urls":["bzz-raw://a8d6d40675ddd6575538cfa915f73fc8379f4c154b034220df2cf6b7be6d9baf","dweb:/ipfs/QmS7RNEDNBq6YwVJ1gPfs36CJg9d6h5MaxPRtuL3726uEK"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09","urls":["bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4","dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2"],"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/IStore.sol":{"keccak256":"0xa95a7b8095a313078abe9b3953fa4512aac88ead4526e37023583cb5dc274cb3","urls":["bzz-raw://8a878403e5133ec5f250d752e7b7495e2b13420cd3a42fb59aa6d5f8ee6d188b","dweb:/ipfs/QmUGxeD5Y7B5goNNgFcgaAakjoSr4YtVaE3CMAypRUZGmc"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec","urls":["bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb","dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79","urls":["bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84","dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xfdeeba7e17c947285610d49d85d402cfe5286c046814f827c1aaa37636c16d8f","urls":["bzz-raw://5fde8b7c7caf4dcdcb524565cb8745d897d4d22d88fa0744f9db4b3d36a1eee1","dweb:/ipfs/QmbUe4pfJeRqiiPz31BKWbYv12cz8Lz3Ky5yKydtTb4FY9"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x677224ab340753edf523ccff8c9d6ede987addbf0d7bc13d0e479306f3866a99","urls":["bzz-raw://6c0285a7684490d6e65d6f91b3631abdafb135d200ea9068e730dd98017a305e","dweb:/ipfs/QmcURHZiMGnSET9P2iSgph22F6iFdoDbN4WmJsHxTAT5G9"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449","urls":["bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924","dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167","urls":["bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67","dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc","urls":["bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263","dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d","urls":["bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912","dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x6dc7a614a120b1940ca8de1924e59895a42ef5f0e22d81a9221790fd76687c2e","urls":["bzz-raw://b638521a9590a62c4e976f12be43d0370246836b90227cbf2e306888331986f6","dweb:/ipfs/QmcEpcjHhL9rawjJRuMJvtTv3YwN2ggYsQHXZeoF88VRFX"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18","urls":["bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2","dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x21d008da9dd112938ad5381264dce39be7855002076afa01d78dc6421a951fd8","urls":["bzz-raw://1af33c3d662d6ba193987ec62c865e05b53ced4904bff9a5729ab3ada2ca3a99","dweb:/ipfs/QmUSXF3R7LwQWW8P6BZCrt3MAgGN5UwiiaHB3DGCSBZLL5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0x1f04af14e5040f71bd3daa79b90245a275e52f8d0294c17ae5bfe9aa727651a5","urls":["bzz-raw://d76533959ded2f58434ae9f89fe8c3ff66095ec94e829f89914b362751799e3a","dweb:/ipfs/Qmb1e12g6Sku2u1R96qei1GhqSNi1sZhKRCb111SyNk1ta"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f","urls":["bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d","dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x7cafc150d77cb46ecb49b1a1a7d43cc17e21a095596cf544cc8ba6bfe7ed7f20","urls":["bzz-raw://889cadacfbc667e10a7a83ac34e858c76d0472d04cad72c7691a84879e503ce3","dweb:/ipfs/Qmcm6GFFoGFw2nmuz3Z2NRAgqfBPFZixHppmQzZM4Fy3sR"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreData.sol":{"keccak256":"0x9d740905a6bd4e322f7cc6f7837fe80d7733f7604d2077e45b58b8c3e84b67dd","urls":["bzz-raw://c53f83af2b84c740ede7fa379d92d86ab2e94341296d930114fa58c0380fd210","dweb:/ipfs/QmTUf3nL1fqKQXuTQF9HyjeWXdXYGemD2EzXUB3BjaNS2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreRead.sol":{"keccak256":"0x9fdfe426fd74b31fe309efbd9bf30bcfea7457366f8c8138cf0ee0bd983d6c28","urls":["bzz-raw://5bba26fa27f64c5560708391c09da78a1e8bbaa6b5d515aa7692a57516319ecd","dweb:/ipfs/QmQmDtwG742BMqW8qgiMAccdpZbzxQyyVnW9LMETP2NBVF"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9","urls":["bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff","dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0xa59c43271d363f2366d6f6732ae586b1a36a3ffa4906b8f5cbbf19d3d314562c","urls":["bzz-raw://2bd7c9f8f9ad579a8dfec566b2bd2e646f8065ce8a07e6732e11a4a3a2be7787","dweb:/ipfs/QmWBwZGnYYxEiRjFKSsu1mFtCWJYw3XSojhn7zmc5YE4vG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x2e81480e081ce6ad4917ecc634e5c9b7a5674068992ae8d9088f0f6296da3bf7","urls":["bzz-raw://2acfdee4dd4c0347ec214273184f267db0e7edc82e586600501d13581dbb5551","dweb:/ipfs/QmcD945zNdGfkwKVvKHA2fpBGictaz4cVMnNm96SmTG5qY"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0x29ed1bd962e594e00a9b921ddbbb202a47206adbece718721483a69593b88763","urls":["bzz-raw://786df2eca996d18660a4ea7d059dfb8c8476fe5cc8f14e0ce5c8f237e08444ea","dweb:/ipfs/QmQ8dbVA2rMgcb9rznHVjn8DGH9U8bZuHmebukjkYxs2Av"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xe9c42e51b6d20496dde8e8013680ec4a4ea1229fd57f0364a2a061c14c1c115b","urls":["bzz-raw://2bcbeeb7b3de32fc68102f7875d71348d5a0171dbb50937d6ebeb28dd10d4ed4","dweb:/ipfs/QmPY91z4D25KGLU2nhnZgb538Mh1mi46RbwHQB8kZvXd4h"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xf80e355b361d29b0169483074b73e2502b228d539d5b3511239edfa9644ae270","urls":["bzz-raw://067d0b61a94453ed29f985cee8d237b46ef1c95f790848a927951e951ebe5a44","dweb:/ipfs/QmVjF2vEnRXzq1GHXwXd9iHJAfyrZNA2wAuygpZv6dGRTB"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50","urls":["bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2","dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410","urls":["bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38","dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305","urls":["bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64","dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554","urls":["bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb","dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7","urls":["bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4","dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29","urls":["bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf","dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a","urls":["bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205","dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61","urls":["bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed","dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xc1b9fa9167dc3d39d5591d0b2d5f7c3c12ad6aeaa0a1b83b1e326ebd104de439","urls":["bzz-raw://ed0ff59e3240fc85509fc5a1bc9c158f2056bd4be82ba88100ed138afc08d60c","dweb:/ipfs/QmZScS3xhT8EMX4RrnVEqWm1VrGBG9JiA6aiZWtWMphF7q"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0xd049053827c730ad69585c1c7eb52b4fd9774370063aab461021a111ee0bc86a","urls":["bzz-raw://e5a05e41e45c0054e835565046276d830581ca181e7ff3d83b15c71b6e01af89","dweb:/ipfs/QmZYGFT621rS5fE2WXKX5wqBMENguMuY7DqaXPkZ2rcEfZ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ERC165Checker.sol":{"keccak256":"0x26204bcfddbc272eae391f4512a629f53697867d582ea8cabcd6a8e04a255270","urls":["bzz-raw://46944bac8253250ba3f645a6164df8e996738bc76a544867677e54ede57619a1","dweb:/ipfs/QmY1XSxQY9MuQSEvGaeQT6kqmeJ3VhYyRRTfzCkRmdsWsX"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e","urls":["bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d","dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695","urls":["bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3","dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0x6c11c44fef08d46ca9f291551a42b8576259f65b7e957aef92540ba0acd72909","urls":["bzz-raw://0ffbc3646ea495350939319f5418ba2dd45b6ec809d6b84ed3264e592a9385bd","dweb:/ipfs/QmPCjuQUMWVUPv7vSVfztnymYA9hUP1xRS62FD6iwzGMuo"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc","urls":["bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc","dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402","urls":["bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db","dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x149d3c2b4bbea21047fc8cf79236488764dd8dde6e440dbc37067a8ce8831bbd","urls":["bzz-raw://d2f340a5616cafd1d80e6ef79f1620102d3d64730c6aa19ecdbb4ca86aaa59b2","dweb:/ipfs/QmWoXP1BKj8U3ZXXoiTRENCxVaaCxrKAenwCZbCVbyfaZ7"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xf15243b03fdc6e5222aefdaad74fffc909f9058f9d8d6ba06acb797197f74635","urls":["bzz-raw://c3f4ecb21499e677697dbe71002a5e96651fb0d8c279c4065e6441f13a9c75b3","dweb:/ipfs/QmZ7oEHWK85aetzt9uJ3bmJJKLZkK5PoaakxiEDq4xEEww"],"license":"MIT"},"node_modules/@latticexyz/world/src/Module.sol":{"keccak256":"0xfdfdbdb1373ff83d8529865e21bbe796025861140a0a96c7183bcc6999ba63dd","urls":["bzz-raw://1c1d003f9a28bc9098cc669406f569905a7726fc17cb07a6a6027531aebe5020","dweb:/ipfs/QmPrEP9SRfKRouAQmVn6dq4MgguBPboMdMPg88WqBjsjgn"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0x1d380574763b720a8950dc0a14d519c2532f9f27c8115116f0a6f7916c9606b3","urls":["bzz-raw://a395df820ee46be3dcdb36682183811a86cdc848dbd56ecc2a21785a42785cf9","dweb:/ipfs/QmeiuzuHjQuv4GHXXiRkBkxhyN7e9Vy19TYfAccnxWej91"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x9c3e1e5eb40d130e90726ca4bfabd748d190d076ecd95c668f038635f751cad2","urls":["bzz-raw://40ba8d4ea85cdac5b622117bf70f56466bfd8b3b693fbb4ab266630768f8865d","dweb:/ipfs/QmQ8ttFdCFJdw1thyDJHheoWNkdpQUM2u7kZzi4zj6mYh7"],"license":"MIT"},"node_modules/@latticexyz/world/src/World.sol":{"keccak256":"0x5f02e221a1f088b56d81894e210ccd97c097b8da2cdc677d073c2722f2a0564a","urls":["bzz-raw://02134a975fb146c5b37ce8472245982120b13000a8628b99395200458e3fd5ef","dweb:/ipfs/Qmd2Zq9LX1kkEE5UEA6oFWnSpBPTX9F9iU2Z74GHSaDwXX"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf","urls":["bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006","dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd","urls":["bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74","dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0xea5256f37d5f373dc0d008b30a44f46f85d5aa4826c9c9702e3a62cafe4fc00d","urls":["bzz-raw://5f34c70731153f300c4d89b4ddcfd0b02834abf208fcd2ec5863fb1dc5bde74f","dweb:/ipfs/QmdmCzFDr6WmSQ23b2T3aaJhJ6Qvzhc9UaE5z33adciAd4"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xd9ead56302e6ce3f7958983f6652c2712df74ce83cd002248b235769bd5f87d4","urls":["bzz-raw://a925eab29746fdcff87662142f61565d64bfa108ee14a9a5d496413c150533c4","dweb:/ipfs/QmaFXKnfuMbkaZCEz3e2J3Nx49keqvmaGa7QLBvbj1ntYt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0x7451726394ea4c39dcca268895499a7d908bd868092cf9b133772077ad5c6a6a","urls":["bzz-raw://c102f036a0ce081255c1088c75e823e5eb5dfdf36ade55d45a6c3914e2a4a5e5","dweb:/ipfs/QmUWEstc4kRhqvUc5sbPyCvy3kvH3hzmH1GrP8MjyQYy3v"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0xd71d9a5a1ee5969cbfc548ddcd01814293d57b5c7f40df0a8ff926df43ec9d9b","urls":["bzz-raw://c6377994ebe168759b1f8ed17d4621720d66259c3ebff77acc2f7cc7dd9fec45","dweb:/ipfs/QmeNaatg7JTe6tLc2RbC28SLEQTJFddXy5xZHmqi9zQ9Jx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0xba969b5b252d1eb26f22908e4581456a6791e02e693cb14f48de35feb31b56f4","urls":["bzz-raw://34fcc11f5a70bcb51ea1ca76587e7dea7dfb940f522c820988212573a9ca32b6","dweb:/ipfs/QmQSgQdJiXMVVSU5woFMC1mAGJBicBeoQUZ5UVX94UjJbX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0x90d05ad5b6ce321f2d15d93cc6d126c0332afd161cebd008ea115a552bb0e772","urls":["bzz-raw://9a6bd7a337b1a8ca9ce2c853db9003352895697d43bdf8c49da850ee19990aa8","dweb:/ipfs/QmbvpN53672EQZMAfmDEC8bP6MRYUnAqLDRUmkkv6DMrAT"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0xfe79af16bea789b894c322b3796b7a5fd3042d2da0ea808768e1588bff53056c","urls":["bzz-raw://15a2c7d26d21773fa41dd3891553ad57520f0c401627da8f79c11751b0fca478","dweb:/ipfs/QmZYpNkSXqqz5tUeqNwppY7Q75ec9gGPv7BkjUJc87AZFE"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x705f45c60cd9f5cf5ed2b92d73bef71f2c234ec281297dae79779860cfdf9e6f","urls":["bzz-raw://b927d760e5f09c72c421ad62ab8da11a38a2a47d321e6b023e3d7c2a4a46a458","dweb:/ipfs/QmXMDWhE5gVHURzFAL7cyA7EeFJRkykZRZwRV9qrTBj13Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x88a0bc28aa9ef62f524fd2592cc0aaaf3e33a8cb0c7674c6dba7f2115be551f8","urls":["bzz-raw://c64f10d7f97971fca0b7b2ab5b38f8d06d85d54b7b34d8ddc90da17264dae7dd","dweb:/ipfs/QmeMgiefFv9fvetswGBG3q2LzL1SJ6zNwBwupSgVpSmpDG"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol":{"keccak256":"0xfcaedc1b1a23f7b2c40fbc5cc71d1781de18f0b1cfbc40a83876852659137d2b","urls":["bzz-raw://d8bad7219652c0f76a46107facc5fdcde7c1d3798d201499d87a7f584ac46db7","dweb:/ipfs/Qma1yhF31Q9wxDYjQ8eCYdjpLVXjC2VVHMCipUjPVrRVdF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InitModuleAddress.sol":{"keccak256":"0x4d0a317051e00a64696a4f9a749f95953dda5ce6fc086b194f54276af1510395","urls":["bzz-raw://5e96a02aa8a528d9d18d741a5cac7c19200ee5739ec92d42faafbf64efeeeb69","dweb:/ipfs/QmXkeMC6EyH3b6px685Dgfd5uGnrkfBUAQ4n1S8bsicEWd"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0x6d247eea47c3566ea8e71b39e662607509f7a2080eabddf83c9f6b0682d27edc","urls":["bzz-raw://ab03d2cf026d39902ec68c3665a6779053e82e0f60bccfe2810be4b43f05894e","dweb:/ipfs/Qmdzg8bmkWjN4mw9EfnHFqYHpTJACGm9YoYZDZhX1MMamY"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x05b07d7a06c7e801fb0c0143dde8fce02907d9940f2862b63dcf085d43e54fdf","urls":["bzz-raw://18eaa2e74e9db4d142a7743c6ab9bfa5e9ff5c3700c0db148840266c4ac8ad35","dweb:/ipfs/QmRiBMxuzDRTST9C4nu8jo6z2D44HYG6VEpKNyDPa6HMhS"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x1bf6746d0154dc5464f394e5b3d8d66398a55eaff68f6e2c3f3f964d8daf39cd","urls":["bzz-raw://b902e62ea9758145aaa0677c04b764cf721ba103b8294191cdc4ba6c25f3ba9e","dweb:/ipfs/QmT3m18HiJd8BT1j5pWeXkGMQjqRCfKDiFvoBTBJ8ZKruv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x57b12c2ff2649db6dd7e2acacece0c5fbdcc0f0bff9b28c685c93d4372688568","urls":["bzz-raw://3a9c39f46cf1e43b13b4a94fad22fde80223f6b5e39c87ca5a8f5d76432d1a3c","dweb:/ipfs/QmNdEEiM7acceMy4ojy9oFKvba7Yjm3MXF1hpnRoWTaAsD"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0x65c5544ed57f2e01d6729339461496fa3db50dd843db6de163e6cca2b9b17c68","urls":["bzz-raw://9d8acc162ac647954ffcfd98f6083823713b10d8dc4a05defc18199e9929faf2","dweb:/ipfs/QmVEwCPrDFcQ84qbJyfm3dNEXuqMbUVVqi5DddmJUREriD"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x98b313c90edc060aed54e1728c5931e104914d485dfb0099099dc469773c6194","urls":["bzz-raw://595d820d40e7faceb413613f24d56e82d13e3e53dd86c69627f1c0f134b5705c","dweb:/ipfs/QmUosi7xfNsg5ehaPNZ7tpU3UxyBMbfQW1ESyqH8Bk73JU"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0xb9b4eada80dfde28cc334d7a8ede2a57b92f3b42f3501af693ba981ba38b8f21","urls":["bzz-raw://c6edf1eb4a0d1730b331eff58f3f26aa037fed7767b6d420a28b905134908bf7","dweb:/ipfs/QmXyZNb5SvwLJ7eG2mrFLDyC6Q2wKPGiHyeQQ21cQLujJR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x25c8832ec6db8bc83d0a3c274d8cb49f93bfc57e2b0125c739caf19c1a2c8a51","urls":["bzz-raw://a226cf322efa14384b1191263136af4792d5e6285a7ffa9030218a44ec97d571","dweb:/ipfs/QmYC19AoGU6v15mzTKq2oHWMKUeRnzxGEkKgHVEUcUKw91"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/InitModule.sol":{"keccak256":"0x2350a2a13cdf3e5420fa9881506936bf32442e4ddfc181c2d499d989e3cd34b6","urls":["bzz-raw://24ec25478a659cca0c9529366bc139b80d302b5ac201abcec67316cf01e1f3d2","dweb:/ipfs/QmegoDuhwLYsuoR1cXwEerUHkLUKyYC4C4TgZBNJXxAtik"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol":{"keccak256":"0x95e23ed6d143242d8232f484f86c5ed14964d3b3b592a83ac8ad22239a9001aa","urls":["bzz-raw://2974121de686e47139d8adb6bdc7fd0854a56c745cc0497b8a8d88b55a3e77d6","dweb:/ipfs/QmcXGbZL3wnFdJA8cvj9NnQtrnmkj2co84u3CJphYMg2Lc"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/RegistrationSystem.sol":{"keccak256":"0x10711eaec9cf4f8b64dea5d1956bc80a3bd3c20cf33163a37aefc93d7f9d0be9","urls":["bzz-raw://5129961b6452d3215fb3c1453da366e5b87cacb9373300879757d48b3c067e9c","dweb:/ipfs/QmRidqUXVZ5jKZes37RWv9MqTmigMUAL1mbMNyeUm1Q3f9"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/constants.sol":{"keccak256":"0xe7eb58bdb9ebaf16162db44d7b02d7e95f70ac46910c19649bb57b835f96dad9","urls":["bzz-raw://23227e603db835db6390e872d11569749c8c8f22de770aa775ab7c99f450a752","dweb:/ipfs/QmZkGgdNqbno253umMW8sCHC3QKd5WLjrQi7CbH74x36Z8"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/AccessManagementSystem.sol":{"keccak256":"0xfe822e975fe2c517969c869cfbdf93a3b19ac592f1b8fc1506df406a06de7ad2","urls":["bzz-raw://dd871128dcdfe0d6e1e94e850697f5a3ba92cba7c73ddadfdcfdf662764685c8","dweb:/ipfs/QmakCjH7YD5onmsRXvz3uF8J2rYLyZuKp7Hnudb2ujmR2n"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/BalanceTransferSystem.sol":{"keccak256":"0xd8e708ee700909e384843edde3d9838463829f5ef241935c7cf9a4369142d50b","urls":["bzz-raw://6ab83e7fe45851c2eb2e42a1710a3fb72afae67c081160d9b2cae781db8b0d9c","dweb:/ipfs/QmWCwbEVWLazh7y41pBFrMe66NW7bmWYJrkJSizvZLvSm8"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/BatchCallSystem.sol":{"keccak256":"0xcdcc115c3c0e23f385e4821beba4d3ec1c091d34edacc6b3ca7d0d53c5429ad7","urls":["bzz-raw://b63292fd9897da4068d6821b7e8fcc5a7da42b695501c8c3113816f271e89160","dweb:/ipfs/QmPfVA8VrydLvmWFDTWAthuH7wakGCRR9BL2i5UcBMaTqC"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/ModuleInstallationSystem.sol":{"keccak256":"0xe00ff4886f017f75372be42ced66025a2d200d780198a89022bda32424927f93","urls":["bzz-raw://cb75902a76ab392bd46170a64ab575232ae172f47bc7ec095016fe2cf344a216","dweb:/ipfs/QmRJsK7ZtS4mm3JmXDW5uLaeCdBPShMVYmDmNjCKiv1k9z"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/StoreRegistrationSystem.sol":{"keccak256":"0x6de6e033845658f714e478982b9125bedb74d4db4e5794e647bc3c4fb6b5f84f","urls":["bzz-raw://4c22d4ee79114f3a59bc7da6bc74e9ca0412a5c0bd606ccf79b141064699d2a7","dweb:/ipfs/QmRuVPECJGZTw9k2PfAdDbbUUnptAF4e9VcqMkzhJ9mBBL"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":{"keccak256":"0xe4b91af36de3852dea10f354ee91b7e6c8a78a0f4c40f72b94bdca411599ca6e","urls":["bzz-raw://fd5e616104f0eb8c261f55901579b09871e91784995e3cb1055ac575995f7535","dweb:/ipfs/QmYinJme183sz4QXH642734s62U8YkGWZ5fNPPfC6GzJmw"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x1876630a009a39e1a771e5d05d420731b85523b4fe091ce04a72f6f283f5e9b3","urls":["bzz-raw://1166a3d9f7db80d2e041def918fa54baa0f4d51edb35731a8b2bf6ee76810411","dweb:/ipfs/Qmf5VmgLsWJy3Tea5JM9mzCKJ49NJC1fRcgWGVFruusBgJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireInterface.sol":{"keccak256":"0x95e9469529f790727966c513ed19b42abf065a2cd482faba4b8e3404edfb8730","urls":["bzz-raw://da63bf514679a87134d2c36563c9c398906e1e06b27cb17eed10895cd7c87658","dweb:/ipfs/QmUrfkw8YTs6zUq5eaWPgdLmTUJVsp1CRBGQz6kdh7bs3C"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireNamespace.sol":{"keccak256":"0x3a98f80c6438d8670281c5ef1ecfc7ddc9c7c0d09fa66d54dda4fa812c89baa1","urls":["bzz-raw://fb7093a4816d52af381d8959601046a1d307fb32b11dfb787813144eb01ca9c6","dweb:/ipfs/QmUj9hw39TNTtamhWvYAe647CYvNuTfxwsYSu2H4QmHfPi"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireValidNamespace.sol":{"keccak256":"0x75f4a72a942bd59d237e6a1329da8f9a582b8d3d94ffeeb2ee4d7cfe992881bc","urls":["bzz-raw://5d6d3c0bb90663d8d411ef056faf0a126727fdeba806efea4403815943b94027","dweb:/ipfs/QmXrAEDnRrqj3137fXPc91jyDMHFZHHJ39NmMUEh1y2AgL"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a","urls":["bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8","dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0xf312c694828e49cd263d1df8ba82beb0376ce8dce1337f9e62ec52e3ed36a145","urls":["bzz-raw://2b060c176e46fa6e55d2f525d1f1c64e3c371e6bf24b6d0ff05ae20b3c0c0c0d","dweb:/ipfs/QmdLfnBQrYnLq1iwjX9UyzpDqe6EyJ21T56ZWUVJr1VQCy"],"license":"MIT"},"node_modules/@latticexyz/world/src/version.sol":{"keccak256":"0x940fa33f2a4986bda788f9418fe4e51ae206a6e4954721443cec11ebf2e700be","urls":["bzz-raw://3aacb56ffa02e40a60b9343aae4fe7c0d9623b74c6ee70b9a42f8428e64e4d4e","dweb:/ipfs/QmNXwHcUzNEvqjaSTdooSV3hhCkGadpT9peQAmhLaQTj2k"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed","urls":["bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d","dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12"],"license":"MIT"},"node_modules/@latticexyz/world/test/createInitModule.sol":{"keccak256":"0x33c10482c6b5ef633dcf13d189c5e2784c46a9546fe77e3ca1817319cf88c383","urls":["bzz-raw://d6b34b376720cde9198eaf0580ae627d0b6cb1288dcc3c1d25f239f91a57ebdc","dweb:/ipfs/QmSYrvgzwd5tmwRta3DAEhokbXAyEX9ZGwpM44S1X2S6Wa"],"license":"MIT"},"node_modules/@latticexyz/world/test/createWorld.sol":{"keccak256":"0x59bb3ecd3c665237a7f2a21220c8526bcf3b12475af458bea0ad7d7403e31196","urls":["bzz-raw://4c7ba0904844102cf553f2986f910ba9c143c7a38aa6ce27280a13e68a058ee4","dweb:/ipfs/QmYFgCZt9CDaoAeqjLy8LbujQntZLB58mbdLECEnV5Uq8f"],"license":"MIT"},"node_modules/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"node_modules/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"node_modules/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"node_modules/forge-std/src/StdChains.sol":{"keccak256":"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6","urls":["bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d","dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx"],"license":"MIT"},"node_modules/forge-std/src/StdCheats.sol":{"keccak256":"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5","urls":["bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a","dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe"],"license":"MIT"},"node_modules/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"node_modules/forge-std/src/StdInvariant.sol":{"keccak256":"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1","urls":["bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c","dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss"],"license":"MIT"},"node_modules/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"node_modules/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"node_modules/forge-std/src/StdStorage.sol":{"keccak256":"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d","urls":["bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26","dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9"],"license":"MIT"},"node_modules/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"node_modules/forge-std/src/StdUtils.sol":{"keccak256":"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1","urls":["bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140","dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi"],"license":"MIT"},"node_modules/forge-std/src/Test.sol":{"keccak256":"0xf3b62c75cea11a0e8ef8e6526e5e5c74ae47a892b9bcefc0e98d76066e1ffd24","urls":["bzz-raw://a41faaf836453e02c71fc272c80b3c90a614b30c9ba636512db0d033c7b93beb","dweb:/ipfs/QmeQAreYYaxztQtFLQdHCzCPEorj9T5foSu2hQmxk7xT5x"],"license":"MIT"},"node_modules/forge-std/src/Vm.sol":{"keccak256":"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5","urls":["bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c","dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"],"license":"MIT"},"node_modules/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"node_modules/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"node_modules/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"src/utils/SystemSwitch.sol":{"keccak256":"0xd00e5d128bf7b01d144fc41fa43fce599730deeb3afef0cb42f8d0dfbfb672fb","urls":["bzz-raw://8a1f8b79c130f7d7c31eba17471df5750453c8d50faddceaa03b6d53b5bbb1fc","dweb:/ipfs/QmbYaAHYDQJSPm9Ce72AqerVv3WSrJFFEmabvR6HZfyY8h"],"license":"MIT"},"test/SystemSwitch.t.sol":{"keccak256":"0xbb2c476611fbafe4dc7f71f2156cadc99e799cef1f1fb5b95e6dc94eead03e9d","urls":["bzz-raw://9f65883b86c8dda8e2b5619228c45c8a463bb23e7ceaabe49217988f37a5795a","dweb:/ipfs/QmXZFVgeHkfFtgqMfN2GPZ4Wejd2PfBkKtGqKPpZ3kyYPn"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"test/SystemSwitch.t.sol","id":137137,"exportedSymbols":{"EchoSystem":[136259],"GasReporter":[226],"IBaseWorld":[24554],"RESOURCE_SYSTEM":[38079],"ROOT_NAMESPACE":[35493],"ResourceId":[2782],"System":[22727],"SystemSwitch":[128104],"SystemSwitchTest":[137136],"Test":[60480],"World":[23867],"WorldResourceIdInstance":[24417],"WorldResourceIdLib":[24290],"caller":[136265],"createWorld":[48581]},"nodeType":"SourceUnit","src":"32:8835:204","nodes":[{"id":136176,"nodeType":"PragmaDirective","src":"32:25:204","nodes":[],"literals":["solidity",">=","0.8",".24"]},{"id":136178,"nodeType":"ImportDirective","src":"59:42:204","nodes":[],"absolutePath":"node_modules/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":137137,"sourceUnit":60481,"symbolAliases":[{"foreign":{"id":136177,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60480,"src":"68:4:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136180,"nodeType":"ImportDirective","src":"102:73:204","nodes":[],"absolutePath":"node_modules/@latticexyz/gas-report/src/GasReporter.sol","file":"@latticexyz/gas-report/src/GasReporter.sol","nameLocation":"-1:-1:-1","scope":137137,"sourceUnit":227,"symbolAliases":[{"foreign":{"id":136179,"name":"GasReporter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":226,"src":"111:11:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136182,"nodeType":"ImportDirective","src":"177:58:204","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/System.sol","file":"@latticexyz/world/src/System.sol","nameLocation":"-1:-1:-1","scope":137137,"sourceUnit":22728,"symbolAliases":[{"foreign":{"id":136181,"name":"System","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22727,"src":"186:6:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136184,"nodeType":"ImportDirective","src":"236:85:204","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol","file":"@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol","nameLocation":"-1:-1:-1","scope":137137,"sourceUnit":24555,"symbolAliases":[{"foreign":{"id":136183,"name":"IBaseWorld","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24554,"src":"245:10:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136186,"nodeType":"ImportDirective","src":"322:56:204","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/World.sol","file":"@latticexyz/world/src/World.sol","nameLocation":"-1:-1:-1","scope":137137,"sourceUnit":23868,"symbolAliases":[{"foreign":{"id":136185,"name":"World","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23867,"src":"331:5:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136188,"nodeType":"ImportDirective","src":"379:69:204","nodes":[],"absolutePath":"node_modules/@latticexyz/world/test/createWorld.sol","file":"@latticexyz/world/test/createWorld.sol","nameLocation":"-1:-1:-1","scope":137137,"sourceUnit":48582,"symbolAliases":[{"foreign":{"id":136187,"name":"createWorld","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48581,"src":"388:11:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136192,"nodeType":"ImportDirective","src":"449:116:204","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/WorldResourceId.sol","file":"@latticexyz/world/src/WorldResourceId.sol","nameLocation":"-1:-1:-1","scope":137137,"sourceUnit":24418,"symbolAliases":[{"foreign":{"id":136189,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2782,"src":"458:10:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":136190,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24290,"src":"470:18:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":136191,"name":"WorldResourceIdInstance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24417,"src":"490:23:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136194,"nodeType":"ImportDirective","src":"566:79:204","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/worldResourceTypes.sol","file":"@latticexyz/world/src/worldResourceTypes.sol","nameLocation":"-1:-1:-1","scope":137137,"sourceUnit":38086,"symbolAliases":[{"foreign":{"id":136193,"name":"RESOURCE_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38079,"src":"575:15:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136196,"nodeType":"ImportDirective","src":"646:69:204","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/constants.sol","file":"@latticexyz/world/src/constants.sol","nameLocation":"-1:-1:-1","scope":137137,"sourceUnit":35566,"symbolAliases":[{"foreign":{"id":136195,"name":"ROOT_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35493,"src":"655:14:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136198,"nodeType":"ImportDirective","src":"716:61:204","nodes":[],"absolutePath":"src/utils/SystemSwitch.sol","file":"../src/utils/SystemSwitch.sol","nameLocation":"-1:-1:-1","scope":137137,"sourceUnit":128105,"symbolAliases":[{"foreign":{"id":136197,"name":"SystemSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128104,"src":"725:12:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136259,"nodeType":"ContractDefinition","src":"779:570:204","nodes":[{"id":136209,"nodeType":"FunctionDefinition","src":"813:81:204","nodes":[],"body":{"id":136208,"nodeType":"Block","src":"864:30:204","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":136205,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23896,"src":"877:10:204","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":136206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"877:12:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":136204,"id":136207,"nodeType":"Return","src":"870:19:204"}]},"functionSelector":"d737d0c7","implemented":true,"kind":"function","modifiers":[],"name":"msgSender","nameLocation":"822:9:204","parameters":{"id":136201,"nodeType":"ParameterList","parameters":[],"src":"831:2:204"},"returnParameters":{"id":136204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136203,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136209,"src":"855:7:204","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":136202,"name":"address","nodeType":"ElementaryTypeName","src":"855:7:204","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"854:9:204"},"scope":136259,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":136218,"nodeType":"FunctionDefinition","src":"898:73:204","nodes":[],"body":{"id":136217,"nodeType":"Block","src":"945:26:204","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":136214,"name":"_world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23918,"src":"958:6:204","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":136215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"958:8:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":136213,"id":136216,"nodeType":"Return","src":"951:15:204"}]},"functionSelector":"30b67baa","implemented":true,"kind":"function","modifiers":[],"name":"world","nameLocation":"907:5:204","parameters":{"id":136210,"nodeType":"ParameterList","parameters":[],"src":"912:2:204"},"returnParameters":{"id":136213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136212,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136218,"src":"936:7:204","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":136211,"name":"address","nodeType":"ElementaryTypeName","src":"936:7:204","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"935:9:204"},"scope":136259,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":136228,"nodeType":"FunctionDefinition","src":"975:98:204","nodes":[],"body":{"id":136227,"nodeType":"Block","src":"1048:25:204","nodes":[],"statements":[{"expression":{"id":136225,"name":"message","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136220,"src":"1061:7:204","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":136224,"id":136226,"nodeType":"Return","src":"1054:14:204"}]},"functionSelector":"f15da729","implemented":true,"kind":"function","modifiers":[],"name":"echo","nameLocation":"984:4:204","parameters":{"id":136221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136220,"mutability":"mutable","name":"message","nameLocation":"1003:7:204","nodeType":"VariableDeclaration","scope":136228,"src":"989:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":136219,"name":"string","nodeType":"ElementaryTypeName","src":"989:6:204","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"988:23:204"},"returnParameters":{"id":136224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136223,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136228,"src":"1033:13:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":136222,"name":"string","nodeType":"ElementaryTypeName","src":"1033:6:204","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1032:15:204"},"scope":136259,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":136245,"nodeType":"FunctionDefinition","src":"1077:143:204","nodes":[],"body":{"id":136244,"nodeType":"Block","src":"1165:55:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136240,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136231,"src":"1196:8:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":136241,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136233,"src":"1206:8:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":136238,"name":"SystemSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128104,"src":"1178:12:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SystemSwitch_$128104_$","typeString":"type(library SystemSwitch)"}},"id":136239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1191:4:204","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":128057,"src":"1178:17:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1178:37:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":136237,"id":136243,"nodeType":"Return","src":"1171:44:204"}]},"functionSelector":"3ae7af08","implemented":true,"kind":"function","modifiers":[],"name":"call","nameLocation":"1086:4:204","parameters":{"id":136234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136231,"mutability":"mutable","name":"systemId","nameLocation":"1102:8:204","nodeType":"VariableDeclaration","scope":136245,"src":"1091:19:204","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":136230,"nodeType":"UserDefinedTypeName","pathNode":{"id":136229,"name":"ResourceId","nameLocations":["1091:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"1091:10:204"},"referencedDeclaration":2782,"src":"1091:10:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":136233,"mutability":"mutable","name":"callData","nameLocation":"1125:8:204","nodeType":"VariableDeclaration","scope":136245,"src":"1112:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136232,"name":"bytes","nodeType":"ElementaryTypeName","src":"1112:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1090:44:204"},"returnParameters":{"id":136237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136236,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136245,"src":"1151:12:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136235,"name":"bytes","nodeType":"ElementaryTypeName","src":"1151:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1150:14:204"},"scope":136259,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136258,"nodeType":"FunctionDefinition","src":"1224:123:204","nodes":[],"body":{"id":136257,"nodeType":"Block","src":"1302:45:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136254,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136247,"src":"1333:8:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":136252,"name":"SystemSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128104,"src":"1315:12:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SystemSwitch_$128104_$","typeString":"type(library SystemSwitch)"}},"id":136253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1328:4:204","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":128103,"src":"1315:17:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bytes memory)"}},"id":136255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1315:27:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":136251,"id":136256,"nodeType":"Return","src":"1308:34:204"}]},"functionSelector":"96f09da6","implemented":true,"kind":"function","modifiers":[],"name":"callViaSelector","nameLocation":"1233:15:204","parameters":{"id":136248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136247,"mutability":"mutable","name":"callData","nameLocation":"1262:8:204","nodeType":"VariableDeclaration","scope":136258,"src":"1249:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136246,"name":"bytes","nodeType":"ElementaryTypeName","src":"1249:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1248:23:204"},"returnParameters":{"id":136251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136250,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136258,"src":"1288:12:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136249,"name":"bytes","nodeType":"ElementaryTypeName","src":"1288:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1287:14:204"},"scope":136259,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":136199,"name":"System","nameLocations":["802:6:204"],"nodeType":"IdentifierPath","referencedDeclaration":22727,"src":"802:6:204"},"id":136200,"nodeType":"InheritanceSpecifier","src":"802:6:204"}],"canonicalName":"EchoSystem","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[136259,22727,23942,22448,22359],"name":"EchoSystem","nameLocation":"788:10:204","scope":137137,"usedErrors":[22472,22507],"usedEvents":[]},{"id":136265,"nodeType":"VariableDeclaration","src":"1351:39:204","nodes":[],"constant":true,"mutability":"constant","name":"caller","nameLocation":"1368:6:204","scope":137137,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":136260,"name":"address","nodeType":"ElementaryTypeName","src":"1351:7:204","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"34323332","id":136263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1385:4:204","typeDescriptions":{"typeIdentifier":"t_rational_4232_by_1","typeString":"int_const 4232"},"value":"4232"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4232_by_1","typeString":"int_const 4232"}],"id":136262,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1377:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136261,"name":"address","nodeType":"ElementaryTypeName","src":"1377:7:204","typeDescriptions":{}}},"id":136264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1377:13:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":137136,"nodeType":"ContractDefinition","src":"1393:7473:204","nodes":[{"id":136273,"nodeType":"UsingForDirective","src":"1444:45:204","nodes":[],"global":false,"libraryName":{"id":136270,"name":"WorldResourceIdInstance","nameLocations":["1450:23:204"],"nodeType":"IdentifierPath","referencedDeclaration":24417,"src":"1450:23:204"},"typeName":{"id":136272,"nodeType":"UserDefinedTypeName","pathNode":{"id":136271,"name":"ResourceId","nameLocations":["1478:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"1478:10:204"},"referencedDeclaration":2782,"src":"1478:10:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}}},{"id":136276,"nodeType":"VariableDeclaration","src":"1493:16:204","nodes":[],"constant":false,"mutability":"mutable","name":"world","nameLocation":"1504:5:204","scope":137136,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"},"typeName":{"id":136275,"nodeType":"UserDefinedTypeName","pathNode":{"id":136274,"name":"IBaseWorld","nameLocations":["1493:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":24554,"src":"1493:10:204"},"referencedDeclaration":24554,"src":"1493:10:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"visibility":"internal"},{"id":136279,"nodeType":"VariableDeclaration","src":"1514:18:204","nodes":[],"constant":false,"mutability":"mutable","name":"systemA","nameLocation":"1525:7:204","scope":137136,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"},"typeName":{"id":136278,"nodeType":"UserDefinedTypeName","pathNode":{"id":136277,"name":"EchoSystem","nameLocations":["1514:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":136259,"src":"1514:10:204"},"referencedDeclaration":136259,"src":"1514:10:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}},"visibility":"internal"},{"id":136282,"nodeType":"VariableDeclaration","src":"1536:18:204","nodes":[],"constant":false,"mutability":"mutable","name":"systemB","nameLocation":"1547:7:204","scope":137136,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"},"typeName":{"id":136281,"nodeType":"UserDefinedTypeName","pathNode":{"id":136280,"name":"EchoSystem","nameLocations":["1536:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":136259,"src":"1536:10:204"},"referencedDeclaration":136259,"src":"1536:10:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}},"visibility":"internal"},{"id":136285,"nodeType":"VariableDeclaration","src":"1558:22:204","nodes":[],"constant":false,"mutability":"mutable","name":"rootSystemA","nameLocation":"1569:11:204","scope":137136,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"},"typeName":{"id":136284,"nodeType":"UserDefinedTypeName","pathNode":{"id":136283,"name":"EchoSystem","nameLocations":["1558:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":136259,"src":"1558:10:204"},"referencedDeclaration":136259,"src":"1558:10:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}},"visibility":"internal"},{"id":136288,"nodeType":"VariableDeclaration","src":"1584:22:204","nodes":[],"constant":false,"mutability":"mutable","name":"rootSystemB","nameLocation":"1595:11:204","scope":137136,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"},"typeName":{"id":136287,"nodeType":"UserDefinedTypeName","pathNode":{"id":136286,"name":"EchoSystem","nameLocations":["1584:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":136259,"src":"1584:10:204"},"referencedDeclaration":136259,"src":"1584:10:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}},"visibility":"internal"},{"id":136291,"nodeType":"VariableDeclaration","src":"1611:20:204","nodes":[],"constant":false,"mutability":"mutable","name":"systemAId","nameLocation":"1622:9:204","scope":137136,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":136290,"nodeType":"UserDefinedTypeName","pathNode":{"id":136289,"name":"ResourceId","nameLocations":["1611:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"1611:10:204"},"referencedDeclaration":2782,"src":"1611:10:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"id":136294,"nodeType":"VariableDeclaration","src":"1635:20:204","nodes":[],"constant":false,"mutability":"mutable","name":"systemBId","nameLocation":"1646:9:204","scope":137136,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":136293,"nodeType":"UserDefinedTypeName","pathNode":{"id":136292,"name":"ResourceId","nameLocations":["1635:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"1635:10:204"},"referencedDeclaration":2782,"src":"1635:10:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"id":136297,"nodeType":"VariableDeclaration","src":"1659:24:204","nodes":[],"constant":false,"mutability":"mutable","name":"rootSystemAId","nameLocation":"1670:13:204","scope":137136,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":136296,"nodeType":"UserDefinedTypeName","pathNode":{"id":136295,"name":"ResourceId","nameLocations":["1659:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"1659:10:204"},"referencedDeclaration":2782,"src":"1659:10:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"id":136300,"nodeType":"VariableDeclaration","src":"1687:24:204","nodes":[],"constant":false,"mutability":"mutable","name":"rootSystemBId","nameLocation":"1698:13:204","scope":137136,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":136299,"nodeType":"UserDefinedTypeName","pathNode":{"id":136298,"name":"ResourceId","nameLocations":["1687:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"1687:10:204"},"referencedDeclaration":2782,"src":"1687:10:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"id":136421,"nodeType":"FunctionDefinition","src":"1716:1120:204","nodes":[],"body":{"id":136420,"nodeType":"Block","src":"1740:1096:204","nodes":[],"statements":[{"expression":{"id":136306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":136303,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136276,"src":"1766:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":136304,"name":"createWorld","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48581,"src":"1774:11:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_IBaseWorld_$24554_$","typeString":"function () returns (contract IBaseWorld)"}},"id":136305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1774:13:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"src":"1766:21:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136307,"nodeType":"ExpressionStatement","src":"1766:21:204"},{"expression":{"id":136313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":136308,"name":"systemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136279,"src":"1816:7:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":136311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1826:14:204","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_EchoSystem_$136259_$","typeString":"function () returns (contract EchoSystem)"},"typeName":{"id":136310,"nodeType":"UserDefinedTypeName","pathNode":{"id":136309,"name":"EchoSystem","nameLocations":["1830:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":136259,"src":"1830:10:204"},"referencedDeclaration":136259,"src":"1830:10:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}}},"id":136312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1826:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}},"src":"1816:26:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}},"id":136314,"nodeType":"ExpressionStatement","src":"1816:26:204"},{"expression":{"id":136320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":136315,"name":"systemB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136282,"src":"1848:7:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":136318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1858:14:204","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_EchoSystem_$136259_$","typeString":"function () returns (contract EchoSystem)"},"typeName":{"id":136317,"nodeType":"UserDefinedTypeName","pathNode":{"id":136316,"name":"EchoSystem","nameLocations":["1862:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":136259,"src":"1862:10:204"},"referencedDeclaration":136259,"src":"1862:10:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}}},"id":136319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1858:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}},"src":"1848:26:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}},"id":136321,"nodeType":"ExpressionStatement","src":"1848:26:204"},{"expression":{"id":136327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":136322,"name":"rootSystemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136285,"src":"1880:11:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":136325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1894:14:204","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_EchoSystem_$136259_$","typeString":"function () returns (contract EchoSystem)"},"typeName":{"id":136324,"nodeType":"UserDefinedTypeName","pathNode":{"id":136323,"name":"EchoSystem","nameLocations":["1898:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":136259,"src":"1898:10:204"},"referencedDeclaration":136259,"src":"1898:10:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}}},"id":136326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1894:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}},"src":"1880:30:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}},"id":136328,"nodeType":"ExpressionStatement","src":"1880:30:204"},{"expression":{"id":136334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":136329,"name":"rootSystemB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136288,"src":"1916:11:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":136332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1930:14:204","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_EchoSystem_$136259_$","typeString":"function () returns (contract EchoSystem)"},"typeName":{"id":136331,"nodeType":"UserDefinedTypeName","pathNode":{"id":136330,"name":"EchoSystem","nameLocations":["1934:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":136259,"src":"1934:10:204"},"referencedDeclaration":136259,"src":"1934:10:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}}},"id":136333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1930:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}},"src":"1916:30:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}},"id":136335,"nodeType":"ExpressionStatement","src":"1916:30:204"},{"expression":{"id":136343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":136336,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136291,"src":"1978:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":136339,"name":"RESOURCE_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38079,"src":"2026:15:204","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"hexValue":"6e616d65737061636541","id":136340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2054:12:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5249ea074de3b5c1907767d7daf078e87d4b0a31b187546ff27e540c44dd67f","typeString":"literal_string \"namespaceA\""},"value":"namespaceA"},{"hexValue":"73797374656d41","id":136341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2074:9:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_47c9562a232d8ed813eff016ef7af580f4ac4d26e2d3dbec81d3bf494297695e","typeString":"literal_string \"systemA\""},"value":"systemA"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_stringliteral_e5249ea074de3b5c1907767d7daf078e87d4b0a31b187546ff27e540c44dd67f","typeString":"literal_string \"namespaceA\""},{"typeIdentifier":"t_stringliteral_47c9562a232d8ed813eff016ef7af580f4ac4d26e2d3dbec81d3bf494297695e","typeString":"literal_string \"systemA\""}],"expression":{"id":136337,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24290,"src":"1990:18:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldResourceIdLib_$24290_$","typeString":"type(library WorldResourceIdLib)"}},"id":136338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2009:6:204","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":24218,"src":"1990:25:204","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes2_$_t_bytes14_$_t_bytes16_$returns$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (bytes2,bytes14,bytes16) pure returns (ResourceId)"}},"id":136342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["2018:6:204","2043:9:204","2068:4:204"],"names":["typeId","namespace","name"],"nodeType":"FunctionCall","src":"1990:96:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"src":"1978:108:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":136344,"nodeType":"ExpressionStatement","src":"1978:108:204"},{"expression":{"id":136352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":136345,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136294,"src":"2092:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":136348,"name":"RESOURCE_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38079,"src":"2140:15:204","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"hexValue":"6e616d65737061636542","id":136349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2168:12:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_9966cb362f88b0d958879f3f2d1e887cd1b93cd84663a71d6f07414bb1f92582","typeString":"literal_string \"namespaceB\""},"value":"namespaceB"},{"hexValue":"73797374656d42","id":136350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2188:9:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b22053f4496c362f888b764f547d8ea33d632edb4e459a3de001e0e5add5a7c","typeString":"literal_string \"systemB\""},"value":"systemB"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_stringliteral_9966cb362f88b0d958879f3f2d1e887cd1b93cd84663a71d6f07414bb1f92582","typeString":"literal_string \"namespaceB\""},{"typeIdentifier":"t_stringliteral_4b22053f4496c362f888b764f547d8ea33d632edb4e459a3de001e0e5add5a7c","typeString":"literal_string \"systemB\""}],"expression":{"id":136346,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24290,"src":"2104:18:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldResourceIdLib_$24290_$","typeString":"type(library WorldResourceIdLib)"}},"id":136347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2123:6:204","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":24218,"src":"2104:25:204","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes2_$_t_bytes14_$_t_bytes16_$returns$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (bytes2,bytes14,bytes16) pure returns (ResourceId)"}},"id":136351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["2132:6:204","2157:9:204","2182:4:204"],"names":["typeId","namespace","name"],"nodeType":"FunctionCall","src":"2104:96:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"src":"2092:108:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":136353,"nodeType":"ExpressionStatement","src":"2092:108:204"},{"expression":{"id":136361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":136354,"name":"rootSystemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136297,"src":"2206:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":136357,"name":"RESOURCE_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38079,"src":"2258:15:204","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"id":136358,"name":"ROOT_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35493,"src":"2286:14:204","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},{"hexValue":"73797374656d41","id":136359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2308:9:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_47c9562a232d8ed813eff016ef7af580f4ac4d26e2d3dbec81d3bf494297695e","typeString":"literal_string \"systemA\""},"value":"systemA"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_bytes14","typeString":"bytes14"},{"typeIdentifier":"t_stringliteral_47c9562a232d8ed813eff016ef7af580f4ac4d26e2d3dbec81d3bf494297695e","typeString":"literal_string \"systemA\""}],"expression":{"id":136355,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24290,"src":"2222:18:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldResourceIdLib_$24290_$","typeString":"type(library WorldResourceIdLib)"}},"id":136356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2241:6:204","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":24218,"src":"2222:25:204","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes2_$_t_bytes14_$_t_bytes16_$returns$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (bytes2,bytes14,bytes16) pure returns (ResourceId)"}},"id":136360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["2250:6:204","2275:9:204","2302:4:204"],"names":["typeId","namespace","name"],"nodeType":"FunctionCall","src":"2222:98:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"src":"2206:114:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":136362,"nodeType":"ExpressionStatement","src":"2206:114:204"},{"expression":{"id":136370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":136363,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136300,"src":"2326:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":136366,"name":"RESOURCE_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38079,"src":"2378:15:204","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"id":136367,"name":"ROOT_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35493,"src":"2406:14:204","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},{"hexValue":"73797374656d42","id":136368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2428:9:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b22053f4496c362f888b764f547d8ea33d632edb4e459a3de001e0e5add5a7c","typeString":"literal_string \"systemB\""},"value":"systemB"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_bytes14","typeString":"bytes14"},{"typeIdentifier":"t_stringliteral_4b22053f4496c362f888b764f547d8ea33d632edb4e459a3de001e0e5add5a7c","typeString":"literal_string \"systemB\""}],"expression":{"id":136364,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24290,"src":"2342:18:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldResourceIdLib_$24290_$","typeString":"type(library WorldResourceIdLib)"}},"id":136365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2361:6:204","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":24218,"src":"2342:25:204","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes2_$_t_bytes14_$_t_bytes16_$returns$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (bytes2,bytes14,bytes16) pure returns (ResourceId)"}},"id":136369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["2370:6:204","2395:9:204","2422:4:204"],"names":["typeId","namespace","name"],"nodeType":"FunctionCall","src":"2342:98:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"src":"2326:114:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":136371,"nodeType":"ExpressionStatement","src":"2326:114:204"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":136375,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136291,"src":"2498:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":136376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2508:14:204","memberName":"getNamespaceId","nodeType":"MemberAccess","referencedDeclaration":24336,"src":"2498:24:204","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$2782_$returns$_t_userDefinedValueType$_ResourceId_$2782_$attached_to$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (ResourceId) pure returns (ResourceId)"}},"id":136377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2498:26:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}],"expression":{"id":136372,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136276,"src":"2474:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2480:17:204","memberName":"registerNamespace","nodeType":"MemberAccess","referencedDeclaration":24614,"src":"2474:23:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$returns$__$","typeString":"function (ResourceId) external"}},"id":136378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2474:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136379,"nodeType":"ExpressionStatement","src":"2474:51:204"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":136383,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136294,"src":"2555:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":136384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2565:14:204","memberName":"getNamespaceId","nodeType":"MemberAccess","referencedDeclaration":24336,"src":"2555:24:204","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$2782_$returns$_t_userDefinedValueType$_ResourceId_$2782_$attached_to$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (ResourceId) pure returns (ResourceId)"}},"id":136385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2555:26:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}],"expression":{"id":136380,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136276,"src":"2531:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2537:17:204","memberName":"registerNamespace","nodeType":"MemberAccess","referencedDeclaration":24614,"src":"2531:23:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$returns$__$","typeString":"function (ResourceId) external"}},"id":136386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2531:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136387,"nodeType":"ExpressionStatement","src":"2531:51:204"},{"expression":{"arguments":[{"id":136391,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136291,"src":"2634:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":136392,"name":"systemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136279,"src":"2645:7:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}},{"hexValue":"74727565","id":136393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2654:4:204","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":136388,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136276,"src":"2613:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2619:14:204","memberName":"registerSystem","nodeType":"MemberAccess","referencedDeclaration":24645,"src":"2613:20:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_contract$_System_$22727_$_t_bool_$returns$__$","typeString":"function (ResourceId,contract System,bool) external"}},"id":136394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2613:46:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136395,"nodeType":"ExpressionStatement","src":"2613:46:204"},{"expression":{"arguments":[{"id":136399,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136294,"src":"2686:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":136400,"name":"systemB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136282,"src":"2697:7:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}},{"hexValue":"74727565","id":136401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2706:4:204","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":136396,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136276,"src":"2665:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2671:14:204","memberName":"registerSystem","nodeType":"MemberAccess","referencedDeclaration":24645,"src":"2665:20:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_contract$_System_$22727_$_t_bool_$returns$__$","typeString":"function (ResourceId,contract System,bool) external"}},"id":136402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2665:46:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136403,"nodeType":"ExpressionStatement","src":"2665:46:204"},{"expression":{"arguments":[{"id":136407,"name":"rootSystemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136297,"src":"2738:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":136408,"name":"rootSystemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136285,"src":"2753:11:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}},{"hexValue":"74727565","id":136409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2766:4:204","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":136404,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136276,"src":"2717:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2723:14:204","memberName":"registerSystem","nodeType":"MemberAccess","referencedDeclaration":24645,"src":"2717:20:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_contract$_System_$22727_$_t_bool_$returns$__$","typeString":"function (ResourceId,contract System,bool) external"}},"id":136410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2717:54:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136411,"nodeType":"ExpressionStatement","src":"2717:54:204"},{"expression":{"arguments":[{"id":136415,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136300,"src":"2798:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":136416,"name":"rootSystemB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136288,"src":"2813:11:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}},{"hexValue":"74727565","id":136417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2826:4:204","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":136412,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136276,"src":"2777:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2783:14:204","memberName":"registerSystem","nodeType":"MemberAccess","referencedDeclaration":24645,"src":"2777:20:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_contract$_System_$22727_$_t_bool_$returns$__$","typeString":"function (ResourceId,contract System,bool) external"}},"id":136418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2777:54:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136419,"nodeType":"ExpressionStatement","src":"2777:54:204"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"1725:5:204","parameters":{"id":136301,"nodeType":"ParameterList","parameters":[],"src":"1730:2:204"},"returnParameters":{"id":136302,"nodeType":"ParameterList","parameters":[],"src":"1740:0:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136451,"nodeType":"FunctionDefinition","src":"2840:226:204","nodes":[],"body":{"id":136450,"nodeType":"Block","src":"2947:119:204","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":136435,"name":"rootSystemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136297,"src":"2982:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136438,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136259,"src":"3012:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136259_$","typeString":"type(contract EchoSystem)"}},"id":136439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3023:4:204","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":136245,"src":"3012:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.call(ResourceId,bytes memory) returns (bytes memory)"}},{"components":[{"id":136440,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136424,"src":"3030:8:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":136441,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136426,"src":"3040:8:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":136442,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3029:20:204","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$","typeString":"tuple(ResourceId,bytes memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.call(ResourceId,bytes memory) returns (bytes memory)"},{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$","typeString":"tuple(ResourceId,bytes memory)"}],"expression":{"id":136436,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2997:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3001:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"2997:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2997:53:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":136433,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136276,"src":"2971:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2977:4:204","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":22578,"src":"2971:10:204","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) payable external returns (bytes memory)"}},"id":136444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2971:80:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3054:5:204","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":136445,"name":"bytes","nodeType":"ElementaryTypeName","src":"3054:5:204","typeDescriptions":{}}}],"id":136447,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3053:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}],"expression":{"id":136431,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2960:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2964:6:204","memberName":"decode","nodeType":"MemberAccess","src":"2960:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2960:101:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":136430,"id":136449,"nodeType":"Return","src":"2953:108:204"}]},"functionSelector":"101f99a3","implemented":true,"kind":"function","modifiers":[],"name":"_executeFromRootSystemA","nameLocation":"2849:23:204","parameters":{"id":136427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136424,"mutability":"mutable","name":"systemId","nameLocation":"2884:8:204","nodeType":"VariableDeclaration","scope":136451,"src":"2873:19:204","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":136423,"nodeType":"UserDefinedTypeName","pathNode":{"id":136422,"name":"ResourceId","nameLocations":["2873:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"2873:10:204"},"referencedDeclaration":2782,"src":"2873:10:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":136426,"mutability":"mutable","name":"callData","nameLocation":"2907:8:204","nodeType":"VariableDeclaration","scope":136451,"src":"2894:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136425,"name":"bytes","nodeType":"ElementaryTypeName","src":"2894:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2872:44:204"},"returnParameters":{"id":136430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136429,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136451,"src":"2933:12:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136428,"name":"bytes","nodeType":"ElementaryTypeName","src":"2933:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2932:14:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136481,"nodeType":"FunctionDefinition","src":"3070:218:204","nodes":[],"body":{"id":136480,"nodeType":"Block","src":"3173:115:204","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":136465,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136291,"src":"3208:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136468,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136259,"src":"3234:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136259_$","typeString":"type(contract EchoSystem)"}},"id":136469,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3245:4:204","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":136245,"src":"3234:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.call(ResourceId,bytes memory) returns (bytes memory)"}},{"components":[{"id":136470,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136454,"src":"3252:8:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":136471,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136456,"src":"3262:8:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":136472,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3251:20:204","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$","typeString":"tuple(ResourceId,bytes memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.call(ResourceId,bytes memory) returns (bytes memory)"},{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$","typeString":"tuple(ResourceId,bytes memory)"}],"expression":{"id":136466,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3219:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136467,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3223:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"3219:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3219:53:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":136463,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136276,"src":"3197:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3203:4:204","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":22578,"src":"3197:10:204","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) payable external returns (bytes memory)"}},"id":136474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3197:76:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3276:5:204","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":136475,"name":"bytes","nodeType":"ElementaryTypeName","src":"3276:5:204","typeDescriptions":{}}}],"id":136477,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3275:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}],"expression":{"id":136461,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3186:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3190:6:204","memberName":"decode","nodeType":"MemberAccess","src":"3186:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3186:97:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":136460,"id":136479,"nodeType":"Return","src":"3179:104:204"}]},"functionSelector":"3fa01b98","implemented":true,"kind":"function","modifiers":[],"name":"_executeFromSystemA","nameLocation":"3079:19:204","parameters":{"id":136457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136454,"mutability":"mutable","name":"systemId","nameLocation":"3110:8:204","nodeType":"VariableDeclaration","scope":136481,"src":"3099:19:204","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":136453,"nodeType":"UserDefinedTypeName","pathNode":{"id":136452,"name":"ResourceId","nameLocations":["3099:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"3099:10:204"},"referencedDeclaration":2782,"src":"3099:10:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":136456,"mutability":"mutable","name":"callData","nameLocation":"3133:8:204","nodeType":"VariableDeclaration","scope":136481,"src":"3120:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136455,"name":"bytes","nodeType":"ElementaryTypeName","src":"3120:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3098:44:204"},"returnParameters":{"id":136460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136459,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136481,"src":"3159:12:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136458,"name":"bytes","nodeType":"ElementaryTypeName","src":"3159:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3158:14:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136507,"nodeType":"FunctionDefinition","src":"3292:206:204","nodes":[],"body":{"id":136506,"nodeType":"Block","src":"3378:120:204","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":136492,"name":"rootSystemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136297,"src":"3413:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136495,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136259,"src":"3443:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136259_$","typeString":"type(contract EchoSystem)"}},"id":136496,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3454:15:204","memberName":"callViaSelector","nodeType":"MemberAccess","referencedDeclaration":136258,"src":"3443:26:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.callViaSelector(bytes memory) returns (bytes memory)"}},{"components":[{"id":136497,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136483,"src":"3472:8:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":136498,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3471:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.callViaSelector(bytes memory) returns (bytes memory)"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":136493,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3428:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3432:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"3428:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3428:54:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":136490,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136276,"src":"3402:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3408:4:204","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":22578,"src":"3402:10:204","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) payable external returns (bytes memory)"}},"id":136500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3402:81:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136502,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3486:5:204","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":136501,"name":"bytes","nodeType":"ElementaryTypeName","src":"3486:5:204","typeDescriptions":{}}}],"id":136503,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3485:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}],"expression":{"id":136488,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3391:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3395:6:204","memberName":"decode","nodeType":"MemberAccess","src":"3391:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3391:102:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":136487,"id":136505,"nodeType":"Return","src":"3384:109:204"}]},"functionSelector":"199e1d17","implemented":true,"kind":"function","modifiers":[],"name":"_executeFromRootSystemA","nameLocation":"3301:23:204","parameters":{"id":136484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136483,"mutability":"mutable","name":"callData","nameLocation":"3338:8:204","nodeType":"VariableDeclaration","scope":136507,"src":"3325:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136482,"name":"bytes","nodeType":"ElementaryTypeName","src":"3325:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3324:23:204"},"returnParameters":{"id":136487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136486,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136507,"src":"3364:12:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136485,"name":"bytes","nodeType":"ElementaryTypeName","src":"3364:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3363:14:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136533,"nodeType":"FunctionDefinition","src":"3502:198:204","nodes":[],"body":{"id":136532,"nodeType":"Block","src":"3584:116:204","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":136518,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136291,"src":"3619:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136521,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136259,"src":"3645:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136259_$","typeString":"type(contract EchoSystem)"}},"id":136522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3656:15:204","memberName":"callViaSelector","nodeType":"MemberAccess","referencedDeclaration":136258,"src":"3645:26:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.callViaSelector(bytes memory) returns (bytes memory)"}},{"components":[{"id":136523,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136509,"src":"3674:8:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":136524,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3673:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.callViaSelector(bytes memory) returns (bytes memory)"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":136519,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3630:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136520,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3634:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"3630:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3630:54:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":136516,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136276,"src":"3608:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3614:4:204","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":22578,"src":"3608:10:204","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) payable external returns (bytes memory)"}},"id":136526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3608:77:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136528,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3688:5:204","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":136527,"name":"bytes","nodeType":"ElementaryTypeName","src":"3688:5:204","typeDescriptions":{}}}],"id":136529,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3687:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}],"expression":{"id":136514,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3597:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136515,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3601:6:204","memberName":"decode","nodeType":"MemberAccess","src":"3597:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3597:98:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":136513,"id":136531,"nodeType":"Return","src":"3590:105:204"}]},"functionSelector":"075d7777","implemented":true,"kind":"function","modifiers":[],"name":"_executeFromSystemA","nameLocation":"3511:19:204","parameters":{"id":136510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136509,"mutability":"mutable","name":"callData","nameLocation":"3544:8:204","nodeType":"VariableDeclaration","scope":136533,"src":"3531:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136508,"name":"bytes","nodeType":"ElementaryTypeName","src":"3531:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3530:23:204"},"returnParameters":{"id":136513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136512,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136533,"src":"3570:12:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136511,"name":"bytes","nodeType":"ElementaryTypeName","src":"3570:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3569:14:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136566,"nodeType":"FunctionDefinition","src":"3807:244:204","nodes":[],"body":{"id":136565,"nodeType":"Block","src":"3855:196:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136539,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136265,"src":"3870:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136536,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"3861:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3864:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"3861:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3861:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136541,"nodeType":"ExpressionStatement","src":"3861:16:204"},{"assignments":[136543],"declarations":[{"constant":false,"id":136543,"mutability":"mutable","name":"returnData","nameLocation":"3896:10:204","nodeType":"VariableDeclaration","scope":136565,"src":"3883:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136542,"name":"bytes","nodeType":"ElementaryTypeName","src":"3883:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136553,"initialValue":{"arguments":[{"id":136545,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136300,"src":"3933:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136548,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136259,"src":"3963:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136259_$","typeString":"type(contract EchoSystem)"}},"id":136549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3974:9:204","memberName":"msgSender","nodeType":"MemberAccess","referencedDeclaration":136209,"src":"3963:20:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"}},{"components":[],"id":136550,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3985:2:204","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":136546,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3948:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136547,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3952:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"3948:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3948:40:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136544,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[136451,136507],"referencedDeclaration":136451,"src":"3909:23:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3909:80:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3883:106:204"},{"expression":{"arguments":[{"arguments":[{"id":136557,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136543,"src":"4015:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136559,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4028:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136558,"name":"address","nodeType":"ElementaryTypeName","src":"4028:7:204","typeDescriptions":{}}}],"id":136560,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4027:9:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":136555,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4004:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4008:6:204","memberName":"decode","nodeType":"MemberAccess","src":"4004:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4004:33:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":136562,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136265,"src":"4039:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":136554,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":48902,"src":"3995:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":136563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3995:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136564,"nodeType":"ExpressionStatement","src":"3995:51:204"}]},"functionSelector":"ed3a1856","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromRootMsgSender","nameLocation":"3816:29:204","parameters":{"id":136534,"nodeType":"ParameterList","parameters":[],"src":"3845:2:204"},"returnParameters":{"id":136535,"nodeType":"ParameterList","parameters":[],"src":"3855:0:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136602,"nodeType":"FunctionDefinition","src":"4055:244:204","nodes":[],"body":{"id":136601,"nodeType":"Block","src":"4099:200:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136572,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136265,"src":"4114:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136569,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"4105:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4108:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"4105:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4105:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136574,"nodeType":"ExpressionStatement","src":"4105:16:204"},{"assignments":[136576],"declarations":[{"constant":false,"id":136576,"mutability":"mutable","name":"returnData","nameLocation":"4140:10:204","nodeType":"VariableDeclaration","scope":136601,"src":"4127:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136575,"name":"bytes","nodeType":"ElementaryTypeName","src":"4127:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136586,"initialValue":{"arguments":[{"id":136578,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136300,"src":"4177:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136581,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136259,"src":"4207:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136259_$","typeString":"type(contract EchoSystem)"}},"id":136582,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4218:5:204","memberName":"world","nodeType":"MemberAccess","referencedDeclaration":136218,"src":"4207:16:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"}},{"components":[],"id":136583,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4225:2:204","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":136579,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4192:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136580,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4196:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"4192:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4192:36:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136577,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[136451,136507],"referencedDeclaration":136451,"src":"4153:23:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4153:76:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4127:102:204"},{"expression":{"arguments":[{"arguments":[{"id":136590,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136576,"src":"4255:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4268:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136591,"name":"address","nodeType":"ElementaryTypeName","src":"4268:7:204","typeDescriptions":{}}}],"id":136593,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4267:9:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":136588,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4244:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4248:6:204","memberName":"decode","nodeType":"MemberAccess","src":"4244:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4244:33:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":136597,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136276,"src":"4287:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}],"id":136596,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4279:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136595,"name":"address","nodeType":"ElementaryTypeName","src":"4279:7:204","typeDescriptions":{}}},"id":136598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4279:14:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":136587,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":48902,"src":"4235:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":136599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4235:59:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136600,"nodeType":"ExpressionStatement","src":"4235:59:204"}]},"functionSelector":"3911733c","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromRootWorld","nameLocation":"4064:25:204","parameters":{"id":136567,"nodeType":"ParameterList","parameters":[],"src":"4089:2:204"},"returnParameters":{"id":136568,"nodeType":"ParameterList","parameters":[],"src":"4099:0:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136636,"nodeType":"FunctionDefinition","src":"4303:241:204","nodes":[],"body":{"id":136635,"nodeType":"Block","src":"4346:198:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136608,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136265,"src":"4361:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136605,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"4352:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4355:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"4352:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4352:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136610,"nodeType":"ExpressionStatement","src":"4352:16:204"},{"assignments":[136612],"declarations":[{"constant":false,"id":136612,"mutability":"mutable","name":"returnData","nameLocation":"4387:10:204","nodeType":"VariableDeclaration","scope":136635,"src":"4374:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136611,"name":"bytes","nodeType":"ElementaryTypeName","src":"4374:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136623,"initialValue":{"arguments":[{"id":136614,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136300,"src":"4424:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136617,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136259,"src":"4454:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136259_$","typeString":"type(contract EchoSystem)"}},"id":136618,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4465:4:204","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":136228,"src":"4454:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},{"components":[{"hexValue":"68656c6c6f","id":136619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4472:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"id":136620,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4471:9:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":136615,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4439:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136616,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4443:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"4439:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4439:42:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136613,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[136451,136507],"referencedDeclaration":136451,"src":"4400:23:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4400:82:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4374:108:204"},{"expression":{"arguments":[{"arguments":[{"id":136627,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136612,"src":"4508:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4521:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":136628,"name":"string","nodeType":"ElementaryTypeName","src":"4521:6:204","typeDescriptions":{}}}],"id":136630,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4520:8:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":136625,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4497:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136626,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4501:6:204","memberName":"decode","nodeType":"MemberAccess","src":"4497:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:32:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":136632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4531:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":136624,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":50594,"src":"4488:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":136633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4488:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136634,"nodeType":"ExpressionStatement","src":"4488:51:204"}]},"functionSelector":"3424e1c1","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromRootEcho","nameLocation":"4312:24:204","parameters":{"id":136603,"nodeType":"ParameterList","parameters":[],"src":"4336:2:204"},"returnParameters":{"id":136604,"nodeType":"ParameterList","parameters":[],"src":"4346:0:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136682,"nodeType":"FunctionDefinition","src":"4548:438:204","nodes":[],"body":{"id":136681,"nodeType":"Block","src":"4600:386:204","nodes":[],"statements":[{"assignments":[136640],"declarations":[{"constant":false,"id":136640,"mutability":"mutable","name":"worldFunctionSelector","nameLocation":"4613:21:204","nodeType":"VariableDeclaration","scope":136681,"src":"4606:28:204","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":136639,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4606:6:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":136649,"initialValue":{"arguments":[{"id":136643,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136300,"src":"4679:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"hexValue":"6563686f28737472696e6729","id":136644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4700:14:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},"value":"echo(string)"},{"expression":{"expression":{"id":136645,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136259,"src":"4722:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136259_$","typeString":"type(contract EchoSystem)"}},"id":136646,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4733:4:204","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":136228,"src":"4722:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},"id":136647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4738:8:204","memberName":"selector","nodeType":"MemberAccess","src":"4722:24:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":136641,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136276,"src":"4637:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4643:28:204","memberName":"registerRootFunctionSelector","nodeType":"MemberAccess","referencedDeclaration":24667,"src":"4637:34:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_string_memory_ptr_$_t_bytes4_$returns$_t_bytes4_$","typeString":"function (ResourceId,string memory,bytes4) external returns (bytes4)"}},"id":136648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4637:115:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"4606:146:204"},{"assignments":[136651],"declarations":[{"constant":false,"id":136651,"mutability":"mutable","name":"callData","nameLocation":"4771:8:204","nodeType":"VariableDeclaration","scope":136681,"src":"4758:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136650,"name":"bytes","nodeType":"ElementaryTypeName","src":"4758:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136657,"initialValue":{"arguments":[{"id":136654,"name":"worldFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136640,"src":"4805:21:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"68656c6c6f","id":136655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4828:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":136652,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4782:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4786:18:204","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"4782:22:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":136656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4782:54:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4758:78:204"},{"expression":{"arguments":[{"id":136661,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136265,"src":"4852:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136658,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"4843:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4846:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"4843:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4843:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136663,"nodeType":"ExpressionStatement","src":"4843:16:204"},{"assignments":[136665],"declarations":[{"constant":false,"id":136665,"mutability":"mutable","name":"returnData","nameLocation":"4878:10:204","nodeType":"VariableDeclaration","scope":136681,"src":"4865:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136664,"name":"bytes","nodeType":"ElementaryTypeName","src":"4865:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136669,"initialValue":{"arguments":[{"id":136667,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136651,"src":"4915:8:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136666,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[136451,136507],"referencedDeclaration":136507,"src":"4891:23:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bytes memory)"}},"id":136668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4891:33:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4865:59:204"},{"expression":{"arguments":[{"arguments":[{"id":136673,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136665,"src":"4950:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136675,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4963:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":136674,"name":"string","nodeType":"ElementaryTypeName","src":"4963:6:204","typeDescriptions":{}}}],"id":136676,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4962:8:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":136671,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4939:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4943:6:204","memberName":"decode","nodeType":"MemberAccess","src":"4939:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4939:32:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":136678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4973:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":136670,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":50594,"src":"4930:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":136679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4930:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136680,"nodeType":"ExpressionStatement","src":"4930:51:204"}]},"functionSelector":"78845560","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromRootWorldSelector","nameLocation":"4557:33:204","parameters":{"id":136637,"nodeType":"ParameterList","parameters":[],"src":"4590:2:204"},"returnParameters":{"id":136638,"nodeType":"ParameterList","parameters":[],"src":"4600:0:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136718,"nodeType":"FunctionDefinition","src":"5097:253:204","nodes":[],"body":{"id":136717,"nodeType":"Block","src":"5148:202:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136688,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136265,"src":"5163:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136685,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"5154:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5157:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"5154:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5154:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136690,"nodeType":"ExpressionStatement","src":"5154:16:204"},{"assignments":[136692],"declarations":[{"constant":false,"id":136692,"mutability":"mutable","name":"returnData","nameLocation":"5189:10:204","nodeType":"VariableDeclaration","scope":136717,"src":"5176:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136691,"name":"bytes","nodeType":"ElementaryTypeName","src":"5176:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136702,"initialValue":{"arguments":[{"id":136694,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136300,"src":"5222:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136697,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136259,"src":"5252:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136259_$","typeString":"type(contract EchoSystem)"}},"id":136698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5263:9:204","memberName":"msgSender","nodeType":"MemberAccess","referencedDeclaration":136209,"src":"5252:20:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"}},{"components":[],"id":136699,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5274:2:204","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":136695,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5237:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136696,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5241:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"5237:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5237:40:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136693,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[136481,136533],"referencedDeclaration":136481,"src":"5202:19:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5202:76:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5176:102:204"},{"expression":{"arguments":[{"arguments":[{"id":136706,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136692,"src":"5304:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136708,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5317:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136707,"name":"address","nodeType":"ElementaryTypeName","src":"5317:7:204","typeDescriptions":{}}}],"id":136709,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5316:9:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":136704,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5293:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5297:6:204","memberName":"decode","nodeType":"MemberAccess","src":"5293:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5293:33:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":136713,"name":"systemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136279,"src":"5336:7:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}],"id":136712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5328:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136711,"name":"address","nodeType":"ElementaryTypeName","src":"5328:7:204","typeDescriptions":{}}},"id":136714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5328:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":136703,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":48902,"src":"5284:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":136715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5284:61:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136716,"nodeType":"ExpressionStatement","src":"5284:61:204"}]},"functionSelector":"e78c82e3","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromNonRootMsgSender","nameLocation":"5106:32:204","parameters":{"id":136683,"nodeType":"ParameterList","parameters":[],"src":"5138:2:204"},"returnParameters":{"id":136684,"nodeType":"ParameterList","parameters":[],"src":"5148:0:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136754,"nodeType":"FunctionDefinition","src":"5354:243:204","nodes":[],"body":{"id":136753,"nodeType":"Block","src":"5401:196:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136724,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136265,"src":"5416:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136721,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"5407:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5410:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"5407:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5407:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136726,"nodeType":"ExpressionStatement","src":"5407:16:204"},{"assignments":[136728],"declarations":[{"constant":false,"id":136728,"mutability":"mutable","name":"returnData","nameLocation":"5442:10:204","nodeType":"VariableDeclaration","scope":136753,"src":"5429:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136727,"name":"bytes","nodeType":"ElementaryTypeName","src":"5429:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136738,"initialValue":{"arguments":[{"id":136730,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136300,"src":"5475:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136733,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136259,"src":"5505:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136259_$","typeString":"type(contract EchoSystem)"}},"id":136734,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5516:5:204","memberName":"world","nodeType":"MemberAccess","referencedDeclaration":136218,"src":"5505:16:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"}},{"components":[],"id":136735,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5523:2:204","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":136731,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5490:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5494:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"5490:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5490:36:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136729,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[136481,136533],"referencedDeclaration":136481,"src":"5455:19:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5455:72:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5429:98:204"},{"expression":{"arguments":[{"arguments":[{"id":136742,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136728,"src":"5553:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136744,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5566:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136743,"name":"address","nodeType":"ElementaryTypeName","src":"5566:7:204","typeDescriptions":{}}}],"id":136745,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5565:9:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":136740,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5542:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5546:6:204","memberName":"decode","nodeType":"MemberAccess","src":"5542:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5542:33:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":136749,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136276,"src":"5585:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}],"id":136748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5577:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136747,"name":"address","nodeType":"ElementaryTypeName","src":"5577:7:204","typeDescriptions":{}}},"id":136750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5577:14:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":136739,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":48902,"src":"5533:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":136751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5533:59:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136752,"nodeType":"ExpressionStatement","src":"5533:59:204"}]},"functionSelector":"2cb6867d","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromNonRootWorld","nameLocation":"5363:28:204","parameters":{"id":136719,"nodeType":"ParameterList","parameters":[],"src":"5391:2:204"},"returnParameters":{"id":136720,"nodeType":"ParameterList","parameters":[],"src":"5401:0:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136788,"nodeType":"FunctionDefinition","src":"5601:240:204","nodes":[],"body":{"id":136787,"nodeType":"Block","src":"5647:194:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136760,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136265,"src":"5662:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136757,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"5653:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5656:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"5653:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5653:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136762,"nodeType":"ExpressionStatement","src":"5653:16:204"},{"assignments":[136764],"declarations":[{"constant":false,"id":136764,"mutability":"mutable","name":"returnData","nameLocation":"5688:10:204","nodeType":"VariableDeclaration","scope":136787,"src":"5675:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136763,"name":"bytes","nodeType":"ElementaryTypeName","src":"5675:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136775,"initialValue":{"arguments":[{"id":136766,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136300,"src":"5721:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136769,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136259,"src":"5751:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136259_$","typeString":"type(contract EchoSystem)"}},"id":136770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5762:4:204","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":136228,"src":"5751:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},{"components":[{"hexValue":"68656c6c6f","id":136771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5769:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"id":136772,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5768:9:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":136767,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5736:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136768,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5740:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"5736:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5736:42:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136765,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[136481,136533],"referencedDeclaration":136481,"src":"5701:19:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5701:78:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5675:104:204"},{"expression":{"arguments":[{"arguments":[{"id":136779,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136764,"src":"5805:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136781,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5818:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":136780,"name":"string","nodeType":"ElementaryTypeName","src":"5818:6:204","typeDescriptions":{}}}],"id":136782,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5817:8:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":136777,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5794:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5798:6:204","memberName":"decode","nodeType":"MemberAccess","src":"5794:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5794:32:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":136784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5828:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":136776,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":50594,"src":"5785:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":136785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5785:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136786,"nodeType":"ExpressionStatement","src":"5785:51:204"}]},"functionSelector":"055e33e8","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromNonRootEcho","nameLocation":"5610:27:204","parameters":{"id":136755,"nodeType":"ParameterList","parameters":[],"src":"5637:2:204"},"returnParameters":{"id":136756,"nodeType":"ParameterList","parameters":[],"src":"5647:0:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136834,"nodeType":"FunctionDefinition","src":"5845:437:204","nodes":[],"body":{"id":136833,"nodeType":"Block","src":"5900:382:204","nodes":[],"statements":[{"assignments":[136792],"declarations":[{"constant":false,"id":136792,"mutability":"mutable","name":"worldFunctionSelector","nameLocation":"5913:21:204","nodeType":"VariableDeclaration","scope":136833,"src":"5906:28:204","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":136791,"name":"bytes4","nodeType":"ElementaryTypeName","src":"5906:6:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":136801,"initialValue":{"arguments":[{"id":136795,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136300,"src":"5979:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"hexValue":"6563686f28737472696e6729","id":136796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6000:14:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},"value":"echo(string)"},{"expression":{"expression":{"id":136797,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136259,"src":"6022:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136259_$","typeString":"type(contract EchoSystem)"}},"id":136798,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6033:4:204","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":136228,"src":"6022:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},"id":136799,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6038:8:204","memberName":"selector","nodeType":"MemberAccess","src":"6022:24:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":136793,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136276,"src":"5937:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5943:28:204","memberName":"registerRootFunctionSelector","nodeType":"MemberAccess","referencedDeclaration":24667,"src":"5937:34:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_string_memory_ptr_$_t_bytes4_$returns$_t_bytes4_$","typeString":"function (ResourceId,string memory,bytes4) external returns (bytes4)"}},"id":136800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5937:115:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"5906:146:204"},{"assignments":[136803],"declarations":[{"constant":false,"id":136803,"mutability":"mutable","name":"callData","nameLocation":"6071:8:204","nodeType":"VariableDeclaration","scope":136833,"src":"6058:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136802,"name":"bytes","nodeType":"ElementaryTypeName","src":"6058:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136809,"initialValue":{"arguments":[{"id":136806,"name":"worldFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136792,"src":"6105:21:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"68656c6c6f","id":136807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6128:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":136804,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6082:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6086:18:204","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"6082:22:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":136808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6082:54:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6058:78:204"},{"expression":{"arguments":[{"id":136813,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136265,"src":"6152:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136810,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"6143:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6146:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"6143:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6143:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136815,"nodeType":"ExpressionStatement","src":"6143:16:204"},{"assignments":[136817],"declarations":[{"constant":false,"id":136817,"mutability":"mutable","name":"returnData","nameLocation":"6178:10:204","nodeType":"VariableDeclaration","scope":136833,"src":"6165:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136816,"name":"bytes","nodeType":"ElementaryTypeName","src":"6165:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136821,"initialValue":{"arguments":[{"id":136819,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136803,"src":"6211:8:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136818,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[136481,136533],"referencedDeclaration":136533,"src":"6191:19:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bytes memory)"}},"id":136820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6191:29:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6165:55:204"},{"expression":{"arguments":[{"arguments":[{"id":136825,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136817,"src":"6246:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136827,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6259:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":136826,"name":"string","nodeType":"ElementaryTypeName","src":"6259:6:204","typeDescriptions":{}}}],"id":136828,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6258:8:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":136823,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6235:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6239:6:204","memberName":"decode","nodeType":"MemberAccess","src":"6235:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6235:32:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":136830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6269:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":136822,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":50594,"src":"6226:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":136831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6226:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136832,"nodeType":"ExpressionStatement","src":"6226:51:204"}]},"functionSelector":"c0310bf6","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromNonRootWorldSelector","nameLocation":"5854:36:204","parameters":{"id":136789,"nodeType":"ParameterList","parameters":[],"src":"5890:2:204"},"returnParameters":{"id":136790,"nodeType":"ParameterList","parameters":[],"src":"5900:0:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136867,"nodeType":"FunctionDefinition","src":"6393:243:204","nodes":[],"body":{"id":136866,"nodeType":"Block","src":"6444:192:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136840,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136265,"src":"6459:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136837,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"6450:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6453:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"6450:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6450:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136842,"nodeType":"ExpressionStatement","src":"6450:16:204"},{"assignments":[136844],"declarations":[{"constant":false,"id":136844,"mutability":"mutable","name":"returnData","nameLocation":"6485:10:204","nodeType":"VariableDeclaration","scope":136866,"src":"6472:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136843,"name":"bytes","nodeType":"ElementaryTypeName","src":"6472:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136854,"initialValue":{"arguments":[{"id":136846,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136294,"src":"6522:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136849,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136259,"src":"6548:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136259_$","typeString":"type(contract EchoSystem)"}},"id":136850,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6559:9:204","memberName":"msgSender","nodeType":"MemberAccess","referencedDeclaration":136209,"src":"6548:20:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"}},{"components":[],"id":136851,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6570:2:204","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":136847,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6533:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136848,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6537:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"6533:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6533:40:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136845,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[136451,136507],"referencedDeclaration":136451,"src":"6498:23:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6498:76:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6472:102:204"},{"expression":{"arguments":[{"arguments":[{"id":136858,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136844,"src":"6600:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136860,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6613:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136859,"name":"address","nodeType":"ElementaryTypeName","src":"6613:7:204","typeDescriptions":{}}}],"id":136861,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6612:9:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":136856,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6589:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6593:6:204","memberName":"decode","nodeType":"MemberAccess","src":"6589:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6589:33:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":136863,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136265,"src":"6624:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":136855,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":48902,"src":"6580:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":136864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6580:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136865,"nodeType":"ExpressionStatement","src":"6580:51:204"}]},"functionSelector":"5af8de30","implemented":true,"kind":"function","modifiers":[],"name":"testCallNonRootFromRootMsgSender","nameLocation":"6402:32:204","parameters":{"id":136835,"nodeType":"ParameterList","parameters":[],"src":"6434:2:204"},"returnParameters":{"id":136836,"nodeType":"ParameterList","parameters":[],"src":"6444:0:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136903,"nodeType":"FunctionDefinition","src":"6640:243:204","nodes":[],"body":{"id":136902,"nodeType":"Block","src":"6687:196:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136873,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136265,"src":"6702:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136870,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"6693:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6696:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"6693:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6693:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136875,"nodeType":"ExpressionStatement","src":"6693:16:204"},{"assignments":[136877],"declarations":[{"constant":false,"id":136877,"mutability":"mutable","name":"returnData","nameLocation":"6728:10:204","nodeType":"VariableDeclaration","scope":136902,"src":"6715:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136876,"name":"bytes","nodeType":"ElementaryTypeName","src":"6715:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136887,"initialValue":{"arguments":[{"id":136879,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136294,"src":"6765:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136882,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136259,"src":"6791:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136259_$","typeString":"type(contract EchoSystem)"}},"id":136883,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6802:5:204","memberName":"world","nodeType":"MemberAccess","referencedDeclaration":136218,"src":"6791:16:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"}},{"components":[],"id":136884,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6809:2:204","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":136880,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6776:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136881,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6780:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"6776:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6776:36:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136878,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[136451,136507],"referencedDeclaration":136451,"src":"6741:23:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6741:72:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6715:98:204"},{"expression":{"arguments":[{"arguments":[{"id":136891,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136877,"src":"6839:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136893,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6852:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136892,"name":"address","nodeType":"ElementaryTypeName","src":"6852:7:204","typeDescriptions":{}}}],"id":136894,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6851:9:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":136889,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6828:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6832:6:204","memberName":"decode","nodeType":"MemberAccess","src":"6828:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6828:33:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":136898,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136276,"src":"6871:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}],"id":136897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6863:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136896,"name":"address","nodeType":"ElementaryTypeName","src":"6863:7:204","typeDescriptions":{}}},"id":136899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6863:14:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":136888,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":48902,"src":"6819:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":136900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6819:59:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136901,"nodeType":"ExpressionStatement","src":"6819:59:204"}]},"functionSelector":"85dc0868","implemented":true,"kind":"function","modifiers":[],"name":"testNonCallRootFromRootWorld","nameLocation":"6649:28:204","parameters":{"id":136868,"nodeType":"ParameterList","parameters":[],"src":"6677:2:204"},"returnParameters":{"id":136869,"nodeType":"ParameterList","parameters":[],"src":"6687:0:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136937,"nodeType":"FunctionDefinition","src":"6887:240:204","nodes":[],"body":{"id":136936,"nodeType":"Block","src":"6933:194:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136909,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136265,"src":"6948:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136906,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"6939:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6942:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"6939:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6939:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136911,"nodeType":"ExpressionStatement","src":"6939:16:204"},{"assignments":[136913],"declarations":[{"constant":false,"id":136913,"mutability":"mutable","name":"returnData","nameLocation":"6974:10:204","nodeType":"VariableDeclaration","scope":136936,"src":"6961:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136912,"name":"bytes","nodeType":"ElementaryTypeName","src":"6961:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136924,"initialValue":{"arguments":[{"id":136915,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136294,"src":"7011:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136918,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136259,"src":"7037:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136259_$","typeString":"type(contract EchoSystem)"}},"id":136919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7048:4:204","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":136228,"src":"7037:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},{"components":[{"hexValue":"68656c6c6f","id":136920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7055:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"id":136921,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7054:9:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":136916,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7022:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136917,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7026:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"7022:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7022:42:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136914,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[136451,136507],"referencedDeclaration":136451,"src":"6987:23:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6987:78:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6961:104:204"},{"expression":{"arguments":[{"arguments":[{"id":136928,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136913,"src":"7091:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136930,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7104:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":136929,"name":"string","nodeType":"ElementaryTypeName","src":"7104:6:204","typeDescriptions":{}}}],"id":136931,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7103:8:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":136926,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7080:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7084:6:204","memberName":"decode","nodeType":"MemberAccess","src":"7080:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7080:32:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":136933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7114:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":136925,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":50594,"src":"7071:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":136934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7071:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136935,"nodeType":"ExpressionStatement","src":"7071:51:204"}]},"functionSelector":"32d7d505","implemented":true,"kind":"function","modifiers":[],"name":"testNonCallRootFromRootEcho","nameLocation":"6896:27:204","parameters":{"id":136904,"nodeType":"ParameterList","parameters":[],"src":"6923:2:204"},"returnParameters":{"id":136905,"nodeType":"ParameterList","parameters":[],"src":"6933:0:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136983,"nodeType":"FunctionDefinition","src":"7131:437:204","nodes":[],"body":{"id":136982,"nodeType":"Block","src":"7186:382:204","nodes":[],"statements":[{"assignments":[136941],"declarations":[{"constant":false,"id":136941,"mutability":"mutable","name":"worldFunctionSelector","nameLocation":"7199:21:204","nodeType":"VariableDeclaration","scope":136982,"src":"7192:28:204","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":136940,"name":"bytes4","nodeType":"ElementaryTypeName","src":"7192:6:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":136950,"initialValue":{"arguments":[{"id":136944,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136294,"src":"7265:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"hexValue":"6563686f28737472696e6729","id":136945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7282:14:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},"value":"echo(string)"},{"expression":{"expression":{"id":136946,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136259,"src":"7304:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136259_$","typeString":"type(contract EchoSystem)"}},"id":136947,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7315:4:204","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":136228,"src":"7304:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},"id":136948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7320:8:204","memberName":"selector","nodeType":"MemberAccess","src":"7304:24:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":136942,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136276,"src":"7223:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7229:28:204","memberName":"registerRootFunctionSelector","nodeType":"MemberAccess","referencedDeclaration":24667,"src":"7223:34:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_string_memory_ptr_$_t_bytes4_$returns$_t_bytes4_$","typeString":"function (ResourceId,string memory,bytes4) external returns (bytes4)"}},"id":136949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7223:111:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"7192:142:204"},{"assignments":[136952],"declarations":[{"constant":false,"id":136952,"mutability":"mutable","name":"callData","nameLocation":"7353:8:204","nodeType":"VariableDeclaration","scope":136982,"src":"7340:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136951,"name":"bytes","nodeType":"ElementaryTypeName","src":"7340:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136958,"initialValue":{"arguments":[{"id":136955,"name":"worldFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136941,"src":"7387:21:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"68656c6c6f","id":136956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7410:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":136953,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7364:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136954,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7368:18:204","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"7364:22:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":136957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7364:54:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7340:78:204"},{"expression":{"arguments":[{"id":136962,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136265,"src":"7434:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136959,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"7425:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7428:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"7425:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7425:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136964,"nodeType":"ExpressionStatement","src":"7425:16:204"},{"assignments":[136966],"declarations":[{"constant":false,"id":136966,"mutability":"mutable","name":"returnData","nameLocation":"7460:10:204","nodeType":"VariableDeclaration","scope":136982,"src":"7447:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136965,"name":"bytes","nodeType":"ElementaryTypeName","src":"7447:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136970,"initialValue":{"arguments":[{"id":136968,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136952,"src":"7497:8:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136967,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[136451,136507],"referencedDeclaration":136507,"src":"7473:23:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bytes memory)"}},"id":136969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7473:33:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7447:59:204"},{"expression":{"arguments":[{"arguments":[{"id":136974,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136966,"src":"7532:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136976,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7545:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":136975,"name":"string","nodeType":"ElementaryTypeName","src":"7545:6:204","typeDescriptions":{}}}],"id":136977,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7544:8:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":136972,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7521:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136973,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7525:6:204","memberName":"decode","nodeType":"MemberAccess","src":"7521:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7521:32:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":136979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7555:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":136971,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":50594,"src":"7512:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":136980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7512:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136981,"nodeType":"ExpressionStatement","src":"7512:51:204"}]},"functionSelector":"2f2499f4","implemented":true,"kind":"function","modifiers":[],"name":"testNonCallRootFromRootWorldSelector","nameLocation":"7140:36:204","parameters":{"id":136938,"nodeType":"ParameterList","parameters":[],"src":"7176:2:204"},"returnParameters":{"id":136939,"nodeType":"ParameterList","parameters":[],"src":"7186:0:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":137019,"nodeType":"FunctionDefinition","src":"7683:252:204","nodes":[],"body":{"id":137018,"nodeType":"Block","src":"7737:198:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136989,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136265,"src":"7752:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136986,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"7743:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7746:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"7743:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7743:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136991,"nodeType":"ExpressionStatement","src":"7743:16:204"},{"assignments":[136993],"declarations":[{"constant":false,"id":136993,"mutability":"mutable","name":"returnData","nameLocation":"7778:10:204","nodeType":"VariableDeclaration","scope":137018,"src":"7765:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136992,"name":"bytes","nodeType":"ElementaryTypeName","src":"7765:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":137003,"initialValue":{"arguments":[{"id":136995,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136294,"src":"7811:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136998,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136259,"src":"7837:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136259_$","typeString":"type(contract EchoSystem)"}},"id":136999,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7848:9:204","memberName":"msgSender","nodeType":"MemberAccess","referencedDeclaration":136209,"src":"7837:20:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"}},{"components":[],"id":137000,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7859:2:204","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":136996,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7822:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7826:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"7822:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":137001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7822:40:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136994,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[136481,136533],"referencedDeclaration":136481,"src":"7791:19:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":137002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7791:72:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7765:98:204"},{"expression":{"arguments":[{"arguments":[{"id":137007,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136993,"src":"7889:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":137009,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7902:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":137008,"name":"address","nodeType":"ElementaryTypeName","src":"7902:7:204","typeDescriptions":{}}}],"id":137010,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7901:9:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":137005,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7878:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7882:6:204","memberName":"decode","nodeType":"MemberAccess","src":"7878:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":137011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7878:33:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":137014,"name":"systemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136279,"src":"7921:7:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EchoSystem_$136259","typeString":"contract EchoSystem"}],"id":137013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7913:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":137012,"name":"address","nodeType":"ElementaryTypeName","src":"7913:7:204","typeDescriptions":{}}},"id":137015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7913:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":137004,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":48902,"src":"7869:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":137016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7869:61:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137017,"nodeType":"ExpressionStatement","src":"7869:61:204"}]},"functionSelector":"8d95e4d6","implemented":true,"kind":"function","modifiers":[],"name":"testCallNonRootFromNonRootMsgSender","nameLocation":"7692:35:204","parameters":{"id":136984,"nodeType":"ParameterList","parameters":[],"src":"7727:2:204"},"returnParameters":{"id":136985,"nodeType":"ParameterList","parameters":[],"src":"7737:0:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":137055,"nodeType":"FunctionDefinition","src":"7939:242:204","nodes":[],"body":{"id":137054,"nodeType":"Block","src":"7989:192:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":137025,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136265,"src":"8004:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":137022,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"7995:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":137024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7998:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"7995:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":137026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7995:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137027,"nodeType":"ExpressionStatement","src":"7995:16:204"},{"assignments":[137029],"declarations":[{"constant":false,"id":137029,"mutability":"mutable","name":"returnData","nameLocation":"8030:10:204","nodeType":"VariableDeclaration","scope":137054,"src":"8017:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":137028,"name":"bytes","nodeType":"ElementaryTypeName","src":"8017:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":137039,"initialValue":{"arguments":[{"id":137031,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136294,"src":"8063:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":137034,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136259,"src":"8089:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136259_$","typeString":"type(contract EchoSystem)"}},"id":137035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8100:5:204","memberName":"world","nodeType":"MemberAccess","referencedDeclaration":136218,"src":"8089:16:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"}},{"components":[],"id":137036,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8107:2:204","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":137032,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8074:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137033,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8078:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"8074:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":137037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8074:36:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":137030,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[136481,136533],"referencedDeclaration":136481,"src":"8043:19:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":137038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8043:68:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8017:94:204"},{"expression":{"arguments":[{"arguments":[{"id":137043,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137029,"src":"8137:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":137045,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8150:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":137044,"name":"address","nodeType":"ElementaryTypeName","src":"8150:7:204","typeDescriptions":{}}}],"id":137046,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8149:9:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":137041,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8126:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8130:6:204","memberName":"decode","nodeType":"MemberAccess","src":"8126:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":137047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8126:33:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":137050,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136276,"src":"8169:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}],"id":137049,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8161:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":137048,"name":"address","nodeType":"ElementaryTypeName","src":"8161:7:204","typeDescriptions":{}}},"id":137051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8161:14:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":137040,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":48902,"src":"8117:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":137052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8117:59:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137053,"nodeType":"ExpressionStatement","src":"8117:59:204"}]},"functionSelector":"4478d618","implemented":true,"kind":"function","modifiers":[],"name":"testNonCallRootFromNonRootWorld","nameLocation":"7948:31:204","parameters":{"id":137020,"nodeType":"ParameterList","parameters":[],"src":"7979:2:204"},"returnParameters":{"id":137021,"nodeType":"ParameterList","parameters":[],"src":"7989:0:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":137089,"nodeType":"FunctionDefinition","src":"8185:239:204","nodes":[],"body":{"id":137088,"nodeType":"Block","src":"8234:190:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":137061,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136265,"src":"8249:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":137058,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"8240:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":137060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8243:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"8240:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":137062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8240:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137063,"nodeType":"ExpressionStatement","src":"8240:16:204"},{"assignments":[137065],"declarations":[{"constant":false,"id":137065,"mutability":"mutable","name":"returnData","nameLocation":"8275:10:204","nodeType":"VariableDeclaration","scope":137088,"src":"8262:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":137064,"name":"bytes","nodeType":"ElementaryTypeName","src":"8262:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":137076,"initialValue":{"arguments":[{"id":137067,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136294,"src":"8308:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":137070,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136259,"src":"8334:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136259_$","typeString":"type(contract EchoSystem)"}},"id":137071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8345:4:204","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":136228,"src":"8334:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},{"components":[{"hexValue":"68656c6c6f","id":137072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8352:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"id":137073,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8351:9:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":137068,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8319:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8323:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"8319:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":137074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8319:42:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":137066,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[136481,136533],"referencedDeclaration":136481,"src":"8288:19:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":137075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8288:74:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8262:100:204"},{"expression":{"arguments":[{"arguments":[{"id":137080,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137065,"src":"8388:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":137082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8401:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":137081,"name":"string","nodeType":"ElementaryTypeName","src":"8401:6:204","typeDescriptions":{}}}],"id":137083,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8400:8:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":137078,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8377:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8381:6:204","memberName":"decode","nodeType":"MemberAccess","src":"8377:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":137084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8377:32:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":137085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8411:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":137077,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":50594,"src":"8368:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":137086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8368:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137087,"nodeType":"ExpressionStatement","src":"8368:51:204"}]},"functionSelector":"aec62e14","implemented":true,"kind":"function","modifiers":[],"name":"testNonCallRootFromNonRootEcho","nameLocation":"8194:30:204","parameters":{"id":137056,"nodeType":"ParameterList","parameters":[],"src":"8224:2:204"},"returnParameters":{"id":137057,"nodeType":"ParameterList","parameters":[],"src":"8234:0:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":137135,"nodeType":"FunctionDefinition","src":"8428:436:204","nodes":[],"body":{"id":137134,"nodeType":"Block","src":"8486:378:204","nodes":[],"statements":[{"assignments":[137093],"declarations":[{"constant":false,"id":137093,"mutability":"mutable","name":"worldFunctionSelector","nameLocation":"8499:21:204","nodeType":"VariableDeclaration","scope":137134,"src":"8492:28:204","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":137092,"name":"bytes4","nodeType":"ElementaryTypeName","src":"8492:6:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":137102,"initialValue":{"arguments":[{"id":137096,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136294,"src":"8565:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"hexValue":"6563686f28737472696e6729","id":137097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8582:14:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},"value":"echo(string)"},{"expression":{"expression":{"id":137098,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136259,"src":"8604:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136259_$","typeString":"type(contract EchoSystem)"}},"id":137099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8615:4:204","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":136228,"src":"8604:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},"id":137100,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8620:8:204","memberName":"selector","nodeType":"MemberAccess","src":"8604:24:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":137094,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136276,"src":"8523:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":137095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8529:28:204","memberName":"registerRootFunctionSelector","nodeType":"MemberAccess","referencedDeclaration":24667,"src":"8523:34:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_string_memory_ptr_$_t_bytes4_$returns$_t_bytes4_$","typeString":"function (ResourceId,string memory,bytes4) external returns (bytes4)"}},"id":137101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8523:111:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"8492:142:204"},{"assignments":[137104],"declarations":[{"constant":false,"id":137104,"mutability":"mutable","name":"callData","nameLocation":"8653:8:204","nodeType":"VariableDeclaration","scope":137134,"src":"8640:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":137103,"name":"bytes","nodeType":"ElementaryTypeName","src":"8640:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":137110,"initialValue":{"arguments":[{"id":137107,"name":"worldFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137093,"src":"8687:21:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"68656c6c6f","id":137108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8710:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":137105,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8664:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8668:18:204","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"8664:22:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":137109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8664:54:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8640:78:204"},{"expression":{"arguments":[{"id":137114,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136265,"src":"8734:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":137111,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"8725:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":137113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8728:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"8725:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":137115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8725:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137116,"nodeType":"ExpressionStatement","src":"8725:16:204"},{"assignments":[137118],"declarations":[{"constant":false,"id":137118,"mutability":"mutable","name":"returnData","nameLocation":"8760:10:204","nodeType":"VariableDeclaration","scope":137134,"src":"8747:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":137117,"name":"bytes","nodeType":"ElementaryTypeName","src":"8747:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":137122,"initialValue":{"arguments":[{"id":137120,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137104,"src":"8793:8:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":137119,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[136481,136533],"referencedDeclaration":136533,"src":"8773:19:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bytes memory)"}},"id":137121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8773:29:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8747:55:204"},{"expression":{"arguments":[{"arguments":[{"id":137126,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137118,"src":"8828:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":137128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8841:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":137127,"name":"string","nodeType":"ElementaryTypeName","src":"8841:6:204","typeDescriptions":{}}}],"id":137129,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8840:8:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":137124,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8817:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8821:6:204","memberName":"decode","nodeType":"MemberAccess","src":"8817:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":137130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8817:32:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":137131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8851:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":137123,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":50594,"src":"8808:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":137132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8808:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137133,"nodeType":"ExpressionStatement","src":"8808:51:204"}]},"functionSelector":"54dcf132","implemented":true,"kind":"function","modifiers":[],"name":"testNonCallRootFromNonRootWorldSelector","nameLocation":"8437:39:204","parameters":{"id":137090,"nodeType":"ParameterList","parameters":[],"src":"8476:2:204"},"returnParameters":{"id":137091,"nodeType":"ParameterList","parameters":[],"src":"8486:0:204"},"scope":137136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":136266,"name":"Test","nameLocations":["1422:4:204"],"nodeType":"IdentifierPath","referencedDeclaration":60480,"src":"1422:4:204"},"id":136267,"nodeType":"InheritanceSpecifier","src":"1422:4:204"},{"baseName":{"id":136268,"name":"GasReporter","nameLocations":["1428:11:204"],"nodeType":"IdentifierPath","referencedDeclaration":226,"src":"1428:11:204"},"id":136269,"nodeType":"InheritanceSpecifier","src":"1428:11:204"}],"canonicalName":"SystemSwitchTest","contractDependencies":[23867,36077,36132,36394,36570,36767,136259],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[137136,226,60480,50939,50936,60429,56167,55877,55113,53059,52366,50873],"name":"SystemSwitchTest","nameLocation":"1402:16:204","scope":137137,"usedErrors":[],"usedEvents":[48587,48591,48595,48599,48603,48607,48611,48615,48621,48627,48635,48643,48649,48655,48661,48667,50961,50966,50971,50978,50985,50992]}],"license":"MIT"},"id":204}
|
1
|
+
{"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"callViaSelector","inputs":[{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"echo","inputs":[{"name":"message","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"msgSender","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"readTable","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50612133806100206000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c806345ec935411610076578063d737d0c71161005b578063d737d0c714610174578063e1af802c1461017c578063f15da7291461018457600080fd5b806345ec93541461015657806396f09da61461016157600080fd5b80632f0515f8116100a75780632f0515f81461011857806330b67baa1461012e5780633ae7af081461013657600080fd5b806301ffc9a7146100c3578063119df25f146100eb575b600080fd5b6100d66100d1366004611a86565b610195565b60405190151581526020015b60405180910390f35b6100f361022e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e2565b61012061023d565b6040519081526020016100e2565b6100f3610268565b610149610144366004611b95565b610272565b6040516100e29190611c2c565b36601f190135610120565b61014961016f366004611c3f565b610285565b6100f3610290565b6100f361029a565b610149610192366004611c74565b90565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061022857507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006102386102a4565b905090565b60006102387f746273746f72650000000000000000005265736f7572636549647300000000006102d5565b600061023861029a565b606061027e8383610352565b9392505050565b60606102288261044f565b600061023861022e565b60006102386104fd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c8061019257503390565b60006102e082610507565b90506102eb82610599565b61034d57818260405160200161030391815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526103449291600401611cbd565b60405180910390fd5b919050565b6060600061035e6104fd565b905073ffffffffffffffffffffffffffffffffffffffff811630036103ac57600061039361038a6102a4565b60008787610636565b93509050806103a5576103a58361077e565b5050610228565b6040517f3ae7af0800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690633ae7af08906104009087908790600401611cbd565b6000604051808303816000875af115801561041f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104479190810190611d1b565b949350505050565b606060008061046561046085611d50565b610786565b91509150816000801b036104cb576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610344565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526104478285610352565b6000610238610856565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061054057610540611da0565b602090810291909101015260006104477f746273746f72650000000000000000005461626c6573000000000000000000008360017e6003022020200000000000000000000000000000000000000000000000000061089d565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106105d2576105d2611da0565b6020908102919091010152600061062a7f746273746f72650000000000000000005265736f75726365496473000000000083837e0101000100000000000000000000000000000000000000000000000000000061089d565b90506104478160f81c90565b60006060600080610646866108d3565b909250905073ffffffffffffffffffffffffffffffffffffffff82166106a4578561067087610977565b6040517ffbf10ce6000000000000000000000000000000000000000000000000000000008152600401610344929190611cbd565b806106b3576106b38689610ab4565b861561071f577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061070782610b04565b905061071c826107178b84611dcc565b610b95565b50505b600061072b8760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146107635761075e88888488610c4e565b61076f565b61076f88888488610cd3565b90999098509650505050505050565b805160208201fd5b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106107df576107df611da0565b6020908102919091010152600080806108387f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610d41565b925092509250610849838383610e2b565b9550955050505050915091565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff168061034d573391505090565b60006108ca6108ac8686610e43565b60ff858116601b0360080285901c166108c58587610e99565b610ed2565b95945050505050565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061090d5761090d611da0565b6020908102919091010152600080806109667f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000610f23565b92509250925061084983838361102b565b606081601081901b600061098a83611037565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156109e5576109e07fffffffffffffffffffffffffffff000000000000000000000000000000000000841661104e565b610a1c565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000831615610a5257610a4d8361104e565b610a89565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610a9b93929190611ddf565b6040516020818303038152906040529350505050919050565b610abe82826110f2565b610b0057610acb82610977565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610344929190611e6d565b5050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610b3d57610b3d611da0565b602090810291909101015260006104477f7462776f726c6400000000000000000042616c616e636573000000000000000083837e2001002000000000000000000000000000000000000000000000000000000061089d565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610bcb57610bcb611da0565b602002602001018181525050610c497f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001610c1491815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000611150565b505050565b600060608373ffffffffffffffffffffffffffffffffffffffff166000610c7685898961116c565b604051610c839190611ea5565b60006040518083038185875af1925050503d8060008114610cc0576040519150601f19603f3d011682016040523d82523d6000602084013e610cc5565b606091505b509097909650945050505050565b600060608373ffffffffffffffffffffffffffffffffffffffff16610cf984888861116c565b604051610d069190611ea5565b600060405180830381855af49150503d8060008114610cc0576040519150601f19603f3d011682016040523d82523d6000602084013e610cc5565b6060600060606000610d51610856565b90503073ffffffffffffffffffffffffffffffffffffffff821603610d8757610d7b878787610f23565b93509350935050610e22565b6040517f419b58fd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063419b58fd90610ddd908a908a908a90600401611efd565b600060405180830381865afa158015610dfa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d7b9190810190611f26565b93509350939050565b600080610e378561119b565b90969095509350505050565b60008282604051602001610e58929190611f93565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610eca57610ec060ff601b83900360080287901c1683611dcc565b9150600101610e9e565b509392505050565b600060208210610ef857602082048401935060208281610ef457610ef4611fcf565b0691505b508254600882021b602082900380841115610eca576001850154600882021c82179150509392505050565b6060600060606000610f34856111b0565b9050610f418787836111d3565b93506000610f4e8661120c565b9050801561102057610f608888611249565b935066ffffffffffffff841667ffffffffffffffff811115610f8457610f84611ac8565b6040519080825280601f01601f191660200182016040528015610fae576020820181803683370190505b5092506020830160005b828160ff16101561101d576000610fd08b8b8461125c565b90506000610fed888460ff166028026038011c64ffffffffff1690565b9050610ffc82600083876112dc565b6110068185611dcc565b93505050808061101590611fe5565b915050610fb8565b50505b505093509350939050565b600080610e37856113a7565b600061104560706010611dcc565b9190911b919050565b606060005b60108110156110b3577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156110b357600101611053565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610447565b60006111407f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836113c3565b8061027e575061027e83836113c3565b611165858561115f8487610e99565b85611499565b5050505050565b606083838360405160200161118393929190612004565b60405160208183030381529060405290509392505050565b602081015160408201516000905b9050915091565b600060086111c060026020612056565b6111ca9190612069565b9190911c919050565b6060816000036111f2575060408051602081019091526000815261027e565b60006111fe8585610e43565b90506108ca8160008561173d565b6000600860018061121f60026020612056565b6112299190612056565b6112339190612056565b61123d9190612069565b8260ff911c1692915050565b600061027e6112588484611760565b5490565b60008383604051602001611271929190611f93565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561136357602083106113065760208304840193506020838161130257611302611fcf565b0692505b82156113635760208390036000818410156113295750600019600884021c611333565b50600019600882021c5b8554600886021b8184511682198216178452508184116113545750506113a1565b50600194909401939182900391015b5b602082106113855783548152600190930192601f1990910190602001611364565b81156113a15780518454600019600885021c9182169119161781525b50505050565b6020810151603482015160609190911c9060009060f81c6111a9565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106113fc576113fc611da0565b6020026020010181815250508273ffffffffffffffffffffffffffffffffffffffff1660001b8160018151811061143557611435611da0565b6020908102919091010152600061148d7f7462776f726c640000000000000000005265736f75726365416363657373000083837e0101000100000000000000000000000000000000000000000000000000000061089d565b90506108ca8160f81c90565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361152357837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161151693929190612080565b60405180910390a26113a1565b600061152f8585610e43565b9050600061153c866117b6565b905060005b815181101561161157600082828151811061155e5761155e611da0565b6020026020010151905061158a6004826affffffffffffffffffffff191661183f90919063ffffffff16565b15611608576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906115d5908b908b908b908b906004016120bd565b600060405180830381600087803b1580156115ef57600080fd5b505af1158015611603573d6000803e3d6000fd5b505050505b50600101611541565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161164693929190612080565b60405180910390a2611661828565ffffffffffff168561185d565b60005b815181101561173457600082828151811061168157611681611da0565b602002602001015190506116ad6008826affffffffffffffffffffff191661183f90919063ffffffff16565b1561172b576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906116f8908b908b908b908b906004016120bd565b600060405180830381600087803b15801561171257600080fd5b505af1158015611726573d6000803e3d6000fd5b505050505b50600101611664565b50505050505050565b60405160208101601f19603f8484010116604052828252610eca858585846112dc565b60008282604051602001611775929190611f93565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106117f0576117f0611da0565b602090810291909101015260006118287f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611873565b905061044761183a82600084516118ad565b61193b565b60008160ff16826118508560581c90565b1660ff1614905092915050565b610c498383835161186e8560200190565b61194c565b606061044761188385858561125c565b60006118a8856118938989611249565b9060ff166028026038011c64ffffffffff1690565b61173d565b6000818311806118bd5750835182115b156118fa578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161034493929190612101565b602084016119088482611dcc565b905060006119168585612056565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061027e8360156000611a0b565b82156119c657602083106119765760208304840193506020838161197257611972611fcf565b0692505b82156119c65760208390036000600019600885021c1990506008850281811c91508351811c90508119875416828216178755508184116119b75750506113a1565b50600194909401939182900391015b5b602082106119e85780518455600190930192601f19909101906020016119c7565b81156113a1576000600019600884021c8554835182191691161785555050505050565b60606000611a198560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611a3f57611a3f611fcf565b04905060405193506020840160208202810160405281855260005b82811015611a7a578451871c825293870193602090910190600101611a5a565b50505050509392505050565b600060208284031215611a9857600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461027e57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611b0757611b07611ac8565b604052919050565b600067ffffffffffffffff821115611b2957611b29611ac8565b50601f01601f191660200190565b6000611b4a611b4584611b0f565b611ade565b9050828152838383011115611b5e57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611b8657600080fd5b61027e83833560208501611b37565b60008060408385031215611ba857600080fd5b82359150602083013567ffffffffffffffff811115611bc657600080fd5b611bd285828601611b75565b9150509250929050565b60005b83811015611bf7578181015183820152602001611bdf565b50506000910152565b60008151808452611c18816020860160208601611bdc565b601f01601f19169290920160200192915050565b60208152600061027e6020830184611c00565b600060208284031215611c5157600080fd5b813567ffffffffffffffff811115611c6857600080fd5b61044784828501611b75565b600060208284031215611c8657600080fd5b813567ffffffffffffffff811115611c9d57600080fd5b8201601f81018413611cae57600080fd5b61044784823560208401611b37565b8281526040602082015260006104476040830184611c00565b600082601f830112611ce757600080fd5b8151611cf5611b4582611b0f565b818152846020838601011115611d0a57600080fd5b610447826020830160208701611bdc565b600060208284031215611d2d57600080fd5b815167ffffffffffffffff811115611d4457600080fd5b61044784828501611cd6565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015611d985780818460040360031b1b83161693505b505050919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561022857610228611db6565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451611e40816003860160208901611bdc565b808401905081600382015284519150611e60826004830160208801611bdc565b0160040195945050505050565b604081526000611e806040830185611c00565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60008251611eb7818460208701611bdc565b9190910192915050565b60008151808452602080850194506020840160005b83811015611ef257815187529582019590820190600101611ed6565b509495945050505050565b838152606060208201526000611f166060830185611ec1565b9050826040830152949350505050565b600080600060608486031215611f3b57600080fd5b835167ffffffffffffffff80821115611f5357600080fd5b611f5f87838801611cd6565b9450602086015193506040860151915080821115611f7c57600080fd5b50611f8986828701611cd6565b9150509250925092565b8281526000602080830184516020860160005b82811015611fc257815184529284019290840190600101611fa6565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b600060ff821660ff8103611ffb57611ffb611db6565b60010192915050565b60008451612016818460208901611bdc565b60609490941b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001691909301908152601481019190915260340192915050565b8181038181111561022857610228611db6565b808202811582820484141761022857610228611db6565b6060815260006120936060830186611ec1565b65ffffffffffff8516602084015282810360408401526120b38185611c00565b9695505050505050565b8481526080602082015260006120d66080830186611ec1565b65ffffffffffff8516604084015282810360608401526120f68185611c00565b979650505050505050565b6060815260006121146060830186611c00565b6020830194909452506040015291905056fea164736f6c6343000818000a","sourceMap":"1079:684:204:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100be5760003560e01c806345ec935411610076578063d737d0c71161005b578063d737d0c714610174578063e1af802c1461017c578063f15da7291461018457600080fd5b806345ec93541461015657806396f09da61461016157600080fd5b80632f0515f8116100a75780632f0515f81461011857806330b67baa1461012e5780633ae7af081461013657600080fd5b806301ffc9a7146100c3578063119df25f146100eb575b600080fd5b6100d66100d1366004611a86565b610195565b60405190151581526020015b60405180910390f35b6100f361022e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e2565b61012061023d565b6040519081526020016100e2565b6100f3610268565b610149610144366004611b95565b610272565b6040516100e29190611c2c565b36601f190135610120565b61014961016f366004611c3f565b610285565b6100f3610290565b6100f361029a565b610149610192366004611c74565b90565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061022857507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006102386102a4565b905090565b60006102387f746273746f72650000000000000000005265736f7572636549647300000000006102d5565b600061023861029a565b606061027e8383610352565b9392505050565b60606102288261044f565b600061023861022e565b60006102386104fd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c8061019257503390565b60006102e082610507565b90506102eb82610599565b61034d57818260405160200161030391815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526103449291600401611cbd565b60405180910390fd5b919050565b6060600061035e6104fd565b905073ffffffffffffffffffffffffffffffffffffffff811630036103ac57600061039361038a6102a4565b60008787610636565b93509050806103a5576103a58361077e565b5050610228565b6040517f3ae7af0800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690633ae7af08906104009087908790600401611cbd565b6000604051808303816000875af115801561041f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104479190810190611d1b565b949350505050565b606060008061046561046085611d50565b610786565b91509150816000801b036104cb576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610344565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526104478285610352565b6000610238610856565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061054057610540611da0565b602090810291909101015260006104477f746273746f72650000000000000000005461626c6573000000000000000000008360017e6003022020200000000000000000000000000000000000000000000000000061089d565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106105d2576105d2611da0565b6020908102919091010152600061062a7f746273746f72650000000000000000005265736f75726365496473000000000083837e0101000100000000000000000000000000000000000000000000000000000061089d565b90506104478160f81c90565b60006060600080610646866108d3565b909250905073ffffffffffffffffffffffffffffffffffffffff82166106a4578561067087610977565b6040517ffbf10ce6000000000000000000000000000000000000000000000000000000008152600401610344929190611cbd565b806106b3576106b38689610ab4565b861561071f577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061070782610b04565b905061071c826107178b84611dcc565b610b95565b50505b600061072b8760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146107635761075e88888488610c4e565b61076f565b61076f88888488610cd3565b90999098509650505050505050565b805160208201fd5b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106107df576107df611da0565b6020908102919091010152600080806108387f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610d41565b925092509250610849838383610e2b565b9550955050505050915091565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff168061034d573391505090565b60006108ca6108ac8686610e43565b60ff858116601b0360080285901c166108c58587610e99565b610ed2565b95945050505050565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061090d5761090d611da0565b6020908102919091010152600080806109667f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000610f23565b92509250925061084983838361102b565b606081601081901b600061098a83611037565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156109e5576109e07fffffffffffffffffffffffffffff000000000000000000000000000000000000841661104e565b610a1c565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000831615610a5257610a4d8361104e565b610a89565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610a9b93929190611ddf565b6040516020818303038152906040529350505050919050565b610abe82826110f2565b610b0057610acb82610977565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610344929190611e6d565b5050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610b3d57610b3d611da0565b602090810291909101015260006104477f7462776f726c6400000000000000000042616c616e636573000000000000000083837e2001002000000000000000000000000000000000000000000000000000000061089d565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610bcb57610bcb611da0565b602002602001018181525050610c497f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001610c1491815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000611150565b505050565b600060608373ffffffffffffffffffffffffffffffffffffffff166000610c7685898961116c565b604051610c839190611ea5565b60006040518083038185875af1925050503d8060008114610cc0576040519150601f19603f3d011682016040523d82523d6000602084013e610cc5565b606091505b509097909650945050505050565b600060608373ffffffffffffffffffffffffffffffffffffffff16610cf984888861116c565b604051610d069190611ea5565b600060405180830381855af49150503d8060008114610cc0576040519150601f19603f3d011682016040523d82523d6000602084013e610cc5565b6060600060606000610d51610856565b90503073ffffffffffffffffffffffffffffffffffffffff821603610d8757610d7b878787610f23565b93509350935050610e22565b6040517f419b58fd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063419b58fd90610ddd908a908a908a90600401611efd565b600060405180830381865afa158015610dfa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d7b9190810190611f26565b93509350939050565b600080610e378561119b565b90969095509350505050565b60008282604051602001610e58929190611f93565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610eca57610ec060ff601b83900360080287901c1683611dcc565b9150600101610e9e565b509392505050565b600060208210610ef857602082048401935060208281610ef457610ef4611fcf565b0691505b508254600882021b602082900380841115610eca576001850154600882021c82179150509392505050565b6060600060606000610f34856111b0565b9050610f418787836111d3565b93506000610f4e8661120c565b9050801561102057610f608888611249565b935066ffffffffffffff841667ffffffffffffffff811115610f8457610f84611ac8565b6040519080825280601f01601f191660200182016040528015610fae576020820181803683370190505b5092506020830160005b828160ff16101561101d576000610fd08b8b8461125c565b90506000610fed888460ff166028026038011c64ffffffffff1690565b9050610ffc82600083876112dc565b6110068185611dcc565b93505050808061101590611fe5565b915050610fb8565b50505b505093509350939050565b600080610e37856113a7565b600061104560706010611dcc565b9190911b919050565b606060005b60108110156110b3577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156110b357600101611053565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610447565b60006111407f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836113c3565b8061027e575061027e83836113c3565b611165858561115f8487610e99565b85611499565b5050505050565b606083838360405160200161118393929190612004565b60405160208183030381529060405290509392505050565b602081015160408201516000905b9050915091565b600060086111c060026020612056565b6111ca9190612069565b9190911c919050565b6060816000036111f2575060408051602081019091526000815261027e565b60006111fe8585610e43565b90506108ca8160008561173d565b6000600860018061121f60026020612056565b6112299190612056565b6112339190612056565b61123d9190612069565b8260ff911c1692915050565b600061027e6112588484611760565b5490565b60008383604051602001611271929190611f93565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561136357602083106113065760208304840193506020838161130257611302611fcf565b0692505b82156113635760208390036000818410156113295750600019600884021c611333565b50600019600882021c5b8554600886021b8184511682198216178452508184116113545750506113a1565b50600194909401939182900391015b5b602082106113855783548152600190930192601f1990910190602001611364565b81156113a15780518454600019600885021c9182169119161781525b50505050565b6020810151603482015160609190911c9060009060f81c6111a9565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106113fc576113fc611da0565b6020026020010181815250508273ffffffffffffffffffffffffffffffffffffffff1660001b8160018151811061143557611435611da0565b6020908102919091010152600061148d7f7462776f726c640000000000000000005265736f75726365416363657373000083837e0101000100000000000000000000000000000000000000000000000000000061089d565b90506108ca8160f81c90565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361152357837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161151693929190612080565b60405180910390a26113a1565b600061152f8585610e43565b9050600061153c866117b6565b905060005b815181101561161157600082828151811061155e5761155e611da0565b6020026020010151905061158a6004826affffffffffffffffffffff191661183f90919063ffffffff16565b15611608576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906115d5908b908b908b908b906004016120bd565b600060405180830381600087803b1580156115ef57600080fd5b505af1158015611603573d6000803e3d6000fd5b505050505b50600101611541565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161164693929190612080565b60405180910390a2611661828565ffffffffffff168561185d565b60005b815181101561173457600082828151811061168157611681611da0565b602002602001015190506116ad6008826affffffffffffffffffffff191661183f90919063ffffffff16565b1561172b576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906116f8908b908b908b908b906004016120bd565b600060405180830381600087803b15801561171257600080fd5b505af1158015611726573d6000803e3d6000fd5b505050505b50600101611664565b50505050505050565b60405160208101601f19603f8484010116604052828252610eca858585846112dc565b60008282604051602001611775929190611f93565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106117f0576117f0611da0565b602090810291909101015260006118287f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611873565b905061044761183a82600084516118ad565b61193b565b60008160ff16826118508560581c90565b1660ff1614905092915050565b610c498383835161186e8560200190565b61194c565b606061044761188385858561125c565b60006118a8856118938989611249565b9060ff166028026038011c64ffffffffff1690565b61173d565b6000818311806118bd5750835182115b156118fa578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161034493929190612101565b602084016119088482611dcc565b905060006119168585612056565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061027e8360156000611a0b565b82156119c657602083106119765760208304840193506020838161197257611972611fcf565b0692505b82156119c65760208390036000600019600885021c1990506008850281811c91508351811c90508119875416828216178755508184116119b75750506113a1565b50600194909401939182900391015b5b602082106119e85780518455600190930192601f19909101906020016119c7565b81156113a1576000600019600884021c8554835182191691161785555050505050565b60606000611a198560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611a3f57611a3f611fcf565b04905060405193506020840160208202810160405281855260005b82811015611a7a578451871c825293870193602090910190600101611a5a565b50505050509392505050565b600060208284031215611a9857600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461027e57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611b0757611b07611ac8565b604052919050565b600067ffffffffffffffff821115611b2957611b29611ac8565b50601f01601f191660200190565b6000611b4a611b4584611b0f565b611ade565b9050828152838383011115611b5e57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611b8657600080fd5b61027e83833560208501611b37565b60008060408385031215611ba857600080fd5b82359150602083013567ffffffffffffffff811115611bc657600080fd5b611bd285828601611b75565b9150509250929050565b60005b83811015611bf7578181015183820152602001611bdf565b50506000910152565b60008151808452611c18816020860160208601611bdc565b601f01601f19169290920160200192915050565b60208152600061027e6020830184611c00565b600060208284031215611c5157600080fd5b813567ffffffffffffffff811115611c6857600080fd5b61044784828501611b75565b600060208284031215611c8657600080fd5b813567ffffffffffffffff811115611c9d57600080fd5b8201601f81018413611cae57600080fd5b61044784823560208401611b37565b8281526040602082015260006104476040830184611c00565b600082601f830112611ce757600080fd5b8151611cf5611b4582611b0f565b818152846020838601011115611d0a57600080fd5b610447826020830160208701611bdc565b600060208284031215611d2d57600080fd5b815167ffffffffffffffff811115611d4457600080fd5b61044784828501611cd6565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015611d985780818460040360031b1b83161693505b505050919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561022857610228611db6565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451611e40816003860160208901611bdc565b808401905081600382015284519150611e60826004830160208801611bdc565b0160040195945050505050565b604081526000611e806040830185611c00565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60008251611eb7818460208701611bdc565b9190910192915050565b60008151808452602080850194506020840160005b83811015611ef257815187529582019590820190600101611ed6565b509495945050505050565b838152606060208201526000611f166060830185611ec1565b9050826040830152949350505050565b600080600060608486031215611f3b57600080fd5b835167ffffffffffffffff80821115611f5357600080fd5b611f5f87838801611cd6565b9450602086015193506040860151915080821115611f7c57600080fd5b50611f8986828701611cd6565b9150509250925092565b8281526000602080830184516020860160005b82811015611fc257815184529284019290840190600101611fa6565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b600060ff821660ff8103611ffb57611ffb611db6565b60010192915050565b60008451612016818460208901611bdc565b60609490941b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001691909301908152601481019190915260340192915050565b8181038181111561022857610228611db6565b808202811582820484141761022857610228611db6565b6060815260006120936060830186611ec1565b65ffffffffffff8516602084015282810360408401526120b38185611c00565b9695505050505050565b8481526080602082015260006120d66080830186611ec1565b65ffffffffffff8516604084015282810360608401526120f68185611c00565b979650505050505050565b6060815260006121146060830186611c00565b6020830194909452506040015291905056fea164736f6c6343000818000a","sourceMap":"1079:684:204:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2265:198:58;;;;;;:::i;:::-;;:::i;:::-;;;516:14:207;;509:22;491:41;;479:2;464:18;2265:198:58;;;;;;;;1196:113;;;:::i;:::-;;;719:42:207;707:55;;;689:74;;677:2;662:18;1196:113:58;543:226:207;1275:110:204;;;:::i;:::-;;;947:25:207;;;935:2;920:18;1275:110:204;774:204:207;1198:73:204;;;:::i;1491:143::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1550:110:58:-;3551:14;-1:-1:-1;;3547:25:58;3534:39;1550:110;1196:113;1638:123:204;;;;;;:::i;:::-;;:::i;1113:81::-;;;:::i;1876:98:58:-;;;:::i;1389::204:-;;;;;;:::i;:::-;1475:7;1389:98;2265:198:58;2341:4;2360:54;;;2375:39;2360:54;;:98;;-1:-1:-1;2418:40:58;;;2433:25;2418:40;2360:98;2353:105;2265:198;-1:-1:-1;;2265:198:58:o;1196:113::-;1239:14;1268:36;:34;:36::i;:::-;1261:43;;1196:113;:::o;1275:110:204:-;1317:6;1338:42;1076:66:27;1338:22:204;:42::i;1198:73::-;1236:7;1258:8;:6;:8::i;1491:143::-;1565:12;1592:37;1610:8;1620;1592:17;:37::i;:::-;1585:44;1491:143;-1:-1:-1;;;1491:143:204:o;1638:123::-;1702:12;1729:27;1747:8;1729:17;:27::i;1113:81::-;1155:7;1177:12;:10;:12::i;1876:98:58:-;1915:7;1937:32;:30;:32::i;2743:383::-;3029:34;3033:14;3029:34;3016:48;3010:4;3006:59;;3076:45;;-1:-1:-1;3111:10:58;2743:383;:::o;7148:379:20:-;7213:16;7249:29;7270:7;7249:20;:29::i;:::-;7237:41;;7392:31;7415:7;7392:22;:31::i;:::-;7387:136;;7473:7;7506;7489:25;;;;;;4908:19:207;;4952:2;4943:12;;4748:213;7489:25:20;;;;-1:-1:-1;;7489:25:20;;;;;;;;;;7440:76;;;;;;;;;:::i;:::-;;;;;;;;7387:136;7148:379;;;:::o;2043:683:197:-;2119:23;2150:20;2173:32;:30;:32::i;:::-;2150:55;-1:-1:-1;2284:29:197;;;2292:4;2284:29;2280:322;;2323:12;2367:153;2401:36;:34;:36::i;:::-;2454:1;2475:8;2503;2367:15;:153::i;:::-;2343:177;-1:-1:-1;2343:177:197;-1:-1:-1;2343:177:197;2529:41;;2543:27;2559:10;2543:15;:27::i;:::-;2578:17;;;;2280:322;2670:51;;;;;:31;;;;;;:51;;2702:8;;2712;;2670:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2670:51:197;;;;;;;;;;;;:::i;:::-;2657:64;2043:683;-1:-1:-1;;;;2043:683:197:o;3252:662::-;3307:23;3450:19;;3504:39;3526:16;3533:8;3526:16;:::i;:::-;3504:21;:39::i;:::-;3449:94;;;;3624:8;3637:1;3606:32;;;3602:97;;3647:52;;;;;3691:7;;;;3647:52;;;6958:98:207;6931:18;;3647:52:197;6814:248:207;3602:97:197;1693:4:2;1678:28;;1672:35;;1781:9;1770:21;1837:20;;1895:43;;3817:92:197;3834:8;3870;3817:4;:92::i;3799:97:58:-;3840:7;3862:29;:27;:29::i;5592:312:29:-;5711:16;;;5725:1;5711:16;;;;;;;;;5658;;;;5711;;;;;;;;;;;;-1:-1:-1;5711:16:29;5682:45;;5766:7;5733:9;5743:1;5733:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;5781:13;5797:62;1171:66;5832:9;5843:1;1343:66;5797:24;:62::i;3588:314:27:-;3702:16;;;3716:1;3702:16;;;;;;;;;3654:11;;;;3702:16;;;;;;;;;;;;-1:-1:-1;3702:16:27;3673:45;;3757:10;3724:9;3734:1;3724:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3775:13;3791:62;1076:66;3826:9;3775:13;1253:66;3791:24;:62::i;:::-;3775:78;;3867:29;3888:5;3875:20;;7897:5;7811:97;1695:1386:55;1822:12;1836:17;1890:21;1913:17;1934:22;1947:8;1934:12;:22::i;:::-;1889:67;;-1:-1:-1;1889:67:55;-1:-1:-1;2001:27:55;;;1997:106;;2073:8;2083:19;:8;:17;:19::i;:::-;2037:66;;;;;;;;;;;;:::i;1997:106::-;2209:12;2204:64;;2223:45;2251:8;2261:6;2223:27;:45::i;:::-;2347:9;;2343:197;;578:36:59;2820:46;;816:18:98;2819:74:59;2366:22:55;2449:26;2819:74:59;2449:13:55;:26::i;:::-;2424:51;-1:-1:-1;2483:50:55;2497:11;2510:22;2527:5;2424:51;2510:22;:::i;:::-;2483:13;:50::i;:::-;2358:182;;2343:197;2642:14;2615:23;:8;385:5:16;2502:44:59;;2404:148;2615:23:55;:41;;;:461;;2916:160;2977:6;3003:5;3026:13;3059:8;2916:39;:160::i;:::-;2615:461;;;2739:168;2808:6;2834:5;2857:13;2890:8;2739:47;:168::i;:::-;2597:479;;;;-1:-1:-1;1695:1386:55;-1:-1:-1;;;;;;;1695:1386:55:o;501:217:95:-;704:6;698:13;691:4;683:6;679:17;672:40;6473:452:69;6621:16;;;6635:1;6621:16;;;;;;;;;6534:19;;;;;;6621:16;;;;;;;;;;;-1:-1:-1;6621:16:69;6592:45;;6666:16;6658:25;;;6643:9;6653:1;6643:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;6691:24;;;6777:80;1271:66;6822:9;1454:66;6777:21;:80::i;:::-;6690:167;;;;;;6870:50;6877:11;6890:15;6907:12;6870:6;:50::i;:::-;6863:57;;;;;;;;6473:452;;;:::o;1766:227:24:-;996:42;1855:22;1816:7;;1855:22;;;1883:106;;1931:10;1924:17;;;1766:227;:::o;38022:541:20:-;38179:7;38316:242;38360:59;38401:7;38410:8;38360:40;:59::i;:::-;38437:31;;;;4479:19:3;:27;537:1:30;4478:44:3;4444:79;;;4431:93;38486:63:20;38525:11;38538:10;38486:38;:63::i;:::-;38316:17;:242::i;:::-;38303:255;38022:541;-1:-1:-1;;;;;38022:541:20:o;6686:432:78:-;6814:16;;;6828:1;6814:16;;;;;;;;;6744:14;;;;;;6814:16;;;;;;;;;;;-1:-1:-1;6814:16:78;6785:45;;6869:8;6836:9;6846:1;6836:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6886:24;;;6972:78;1262:66;7015:9;1435:66;6972:19;:78::i;:::-;6885:165;;;;;;7063:50;7070:11;7083:15;7100:12;7063:6;:50::i;3351:592:59:-;3415:13;3485:10;385:5:16;2502:44:59;;;3436:19;3583;3485:10;3583:7;:19::i;:::-;3560:42;-1:-1:-1;3665:12:59;3704:35;;;;:102;;3753:53;;;;:34;:53::i;:::-;3704:102;;;;;;;;;;;;;;;;;;;;;3833:25;;;;:87;;3872:48;3907:12;3872:34;:48::i;:::-;3833:87;;;;;;;;;;;;;;;;;;;;;3637:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3608:330;;;;;3351:592;;;:::o;1480:281:42:-;1642:29;1652:10;1664:6;1642:9;:29::i;:::-;1637:120;;1720:21;:10;:19;:21::i;:::-;1743:6;1688:62;;;;;;;;;;;;:::i;1637:120::-;1480:281;;:::o;4485:308:68:-;4598:16;;;4612:1;4598:16;;;;;;;;;4546:15;;;;4598:16;;;;;;;;;;;;-1:-1:-1;4598:16:68;4569:45;;4653:11;4620:9;4630:1;4620:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4672:13;4688:62;1263:66;4723:9;4672:13;1437:66;4688:24;:62::i;5784:269::-;5883:16;;;5897:1;5883:16;;;;;;;;;5854:26;;5883:16;;;;;;;;;;;-1:-1:-1;5883:16:68;5854:45;;5938:11;5905:9;5915:1;5905:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5957:91;1263:66;1247:83;;5992:9;6003:1;6024:7;6006:27;;;;;;4908:19:207;;4952:2;4943:12;;4748:213;6006:27:68;;;;-1:-1:-1;;6006:27:68;;;;;;;;;1437:66;5957:24;:91::i;:::-;5848:205;5784:269;;:::o;5279:317:58:-;5418:12;5432:17;5475:6;:11;;5495:1;5506:79;5532:8;5553:9;5574:8;5506:13;:79::i;:::-;5475:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5457:134:58;;;;-1:-1:-1;5279:317:58;-1:-1:-1;;;;;5279:317:58:o;6100:321::-;6247:12;6261:17;6304:6;:19;;6331:79;6357:8;6378:9;6399:8;6331:13;:79::i;:::-;6304:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15275:430:24;15405:12;15419:13;15434:12;15454:21;15478:17;:15;:17::i;:::-;15454:41;-1:-1:-1;15530:4:24;15505:30;;;;15501:200;;15552:51;15572:7;15581:8;15591:11;15552:19;:51::i;:::-;15545:58;;;;;;;;;15501:200;15631:63;;;;;:31;;;;;;:63;;15663:7;;15672:8;;15682:11;;15631:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15631:63:24;;;;;;;;;;;;:::i;15275:430::-;;;;;;;;:::o;8965:235:69:-;9075:19;9096:29;9170:25;9183:11;9170:12;:25::i;:::-;9133:62;;;;-1:-1:-1;8965:235:69;-1:-1:-1;;;;8965:235:69:o;52539:191:20:-;52641:7;52705;52714:8;52688:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52688:35:20;;;;;;;;;52678:46;;52688:35;52678:46;;;;44145:22;52671:53;;52539:191;-1:-1:-1;;;52539:191:20:o;53556:242::-;53652:7;;;53691:84;53711:10;53707:14;;:1;:14;53691:84;;;53736:32;4431:93:3;4479:19;:27;;;537:1:30;4478:44:3;4444:79;;;4431:93;53736:32:20;;:::i;:::-;;-1:-1:-1;53723:3:20;;53691:84;;;-1:-1:-1;53787:6:20;53556:242;-1:-1:-1;;;53556:242:20:o;8879:812:19:-;8977:14;9013:2;9003:6;:12;8999:112;;9072:2;9063:6;:11;9045:29;;;;9094:2;9084:12;;;;;;:::i;:::-;;;;8999:112;-1:-1:-1;9302:21:19;;9287:12;9275:25;;9271:53;9450:2;:11;;;9532:22;;;9528:159;;;9668:1;9652:14;9648:22;9642:29;9627:12;9612:13;9608:32;9604:68;9596:6;9593:80;9583:90;;8993:698;8879:812;;;;;:::o;34611:1314:20:-;34741:23;34766:28;34796:24;34862:20;34885:30;:11;:28;:30::i;:::-;34862:53;;34976:65;35009:7;35018:8;35028:12;34976:32;:65::i;:::-;34963:78;;35105:24;35132:30;:11;:28;:30::i;:::-;35105:57;-1:-1:-1;35172:20:20;;35168:753;;35265:66;35313:7;35322:8;35265:47;:66::i;:::-;35248:83;-1:-1:-1;6184:59:15;;;35383:33:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35383:33:20;-1:-1:-1;35369:47:20;-1:-1:-1;828:4:14;818:15;;35424:21:20;35488:427;35506:16;35502:1;:20;;;35488:427;;;35539:27;35569:63;35611:7;35620:8;35630:1;35569:41;:63::i;:::-;35539:93;-1:-1:-1;35642:14:20;35659:25;:14;35682:1;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;35659:25:20;35642:42;;35694:110;35725:19;35754:1;35765:6;35788:13;35694:12;:110::i;:::-;35883:23;35900:6;35883:23;;:::i;:::-;;;35529:386;;35524:3;;;;;:::i;:::-;;;;35488:427;;;;35194:727;35168:753;34822:1103;;34611:1314;;;;;;;:::o;8578:206:78:-;8688:14;8704:17;8754:25;8767:11;8754:12;:25::i;3030:160:59:-;3093:7;3157:26;438:6;385:5:16;3157:26:59;:::i;:::-;3123:61;;;;;3030:160;-1:-1:-1;3030:160:59:o;1796:322::-;1866:13;1887:14;1907:80;1923:2;1914:6;:11;1907:80;;;1941:34;;;3152:1:2;3148:13;;3144:24;1941:39:59;;1937:50;1982:5;1937:50;1927:8;;1907:80;;;2023:30;;;12066:66:207;12054:79;;2023:30:59;;;12042:92:207;2023:30:59;;12150:12:207;;;;2023:30:59;;;809:21:2;;;2023:30:59;2073:39;694:164:2;889:327:42;970:4;1112:56;816:18:98;578:36:59;2820:46;;2819:74;1161:6:42;1112:19;:56::i;:::-;:99;;;;1172:39;1192:10;1204:6;1172:19;:39::i;24989:355:20:-;25161:178;25195:7;25220:8;25250:63;25289:11;25302:10;25250:38;:63::i;:::-;25328:4;25161:16;:178::i;:::-;24989:355;;;;;:::o;4582:201:58:-;4704:12;4748:8;4758:9;4769:8;4731:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4724:54;;4582:201;;;;;:::o;8571:236:69:-;7342:4:2;7328:27;;7322:34;7328:27;;;7322:34;8636:19:69;;8778:23;8752:50;;8571:236;;;:::o;4754:171:3:-;4828:7;537:1:30;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;4850:70:3;;;;;4754:171;-1:-1:-1;4754:171:3:o;50556:360:20:-;50682:12;50706:6;50716:1;50706:11;50702:26;;-1:-1:-1;50719:9:20;;;;;;;;;-1:-1:-1;50719:9:20;;;;50702:26;50769:16;50788:41;50811:7;50820:8;50788:22;:41::i;:::-;50769:60;;50842:69;50873:8;50891:1;50902:6;50842:12;:69::i;5533:173:3:-;5607:7;537:1:30;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;5643:11:3;5622:79;5635:65;;5622:79;;5533:173;-1:-1:-1;;5533:173:3:o;55672:301:20:-;55793:13;55885:82;55916:48;55946:7;55955:8;55916:29;:48::i;:::-;4645:21:19;;4539:137;54475:274:20;54619:7;54724;54733:8;54707:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;54697:46;;;;;;54676:17;54669:25;;54649:45;;;44217:34;54649:45;:94;54641:103;;54634:110;;54475:274;;;;;:::o;6010:2380:19:-;6127:10;;6123:1542;;6280:2;6270:6;:12;6266:122;;6343:2;6334:6;:11;6316:29;;;;6367:2;6357:12;;;;;;:::i;:::-;;;;6266:122;6478:10;;6474:1185;;6686:2;:11;;;6560:21;6744:22;;;6740:135;;;-1:-1:-1;;;537:1:30;738:25:31;;716:48;6740:135:19;;;-1:-1:-1;;;537:1:30;738:25:31;;716:48;6740:135:19;7069:14;7063:21;7048:12;7040:6;7036:25;7032:53;7309:4;7293:13;7287:20;7283:31;7219:4;7215:9;7203:10;7199:26;7144:184;7117:13;7097:243;;7399:13;7389:6;:23;7385:36;;7414:7;;;;7385:36;-1:-1:-1;7562:1:19;7544:19;;;;;7617:23;;;;;7575:30;6474:1185;7694:253;7711:2;7701:6;:12;7694:253;;7805:21;;7783:44;;7880:1;7862:19;;;;-1:-1:-1;;7920:12:19;;;;7908:2;7891:19;7694:253;;;8015:10;;8011:375;;8323:20;;8233:21;;-1:-1:-1;;537:1:30;738:25:31;;716:48;8319:31:19;;;8256:9;;8229:37;8178:184;8135:237;;8011:375;6010:2380;;;;:::o;8203:217:78:-;7342:4:2;7328:27;;7322:34;7328:27;;;7322:34;8319:32:78;;;;;;8268:14;;8383:30;;8375:39;7811:97:27;4770:378:75;4894:16;;;4908:1;4894:16;;;;;;;;4846:11;;;;4894:16;4908:1;4894:16;;;;;;;;;;-1:-1:-1;4894:16:75;4865:45;;4949:10;4916:9;4926:1;4916:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5005:6;4989:24;;4981:33;;4966:9;4976:1;4966:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;5021:13;5037:62;1269:66;5072:9;5021:13;1449:66;5037:24;:62::i;:::-;5021:78;;5113:29;5134:5;5121:20;;7897:5:27;7811:97;18901:1676:20;19101:23;19080:7;:44;;;19076:232;;19231:7;19187:100;19250:8;19267:5;19280:4;19187:100;;;;;;;;:::i;:::-;;;;;;;;19295:7;;19076:232;19314:16;19333:59;19374:7;19383:8;19333:40;:59::i;:::-;19314:78;;19538:22;19563:24;19579:7;19563:15;:24::i;:::-;19538:49;;19598:9;19593:328;19613:5;:12;19609:1;:16;19593:328;;;19640:9;19662:5;19668:1;19662:8;;;;;;;;:::i;:::-;;;;;;;19640:31;;19683:41;548:6:32;19683:4:20;:14;;;;;:41;;;;:::i;:::-;19679:236;;;19736:170;;;;;3404:35:4;;;;;19736:54:20;;:170;;19812:7;;19841:8;;19868:5;;19891:4;;19736:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19679:236;-1:-1:-1;19627:3:20;;19593:328;;;;20022:7;19978:100;20041:8;20058:5;20071:4;19978:100;;;;;;;;:::i;:::-;;;;;;;;20128:70;20160:8;20178:5;20128:70;;20191:4;20128:13;:70::i;:::-;20252:9;20247:326;20267:5;:12;20263:1;:16;20247:326;;;20294:9;20316:5;20322:1;20316:8;;;;;;;;:::i;:::-;;;;;;;20294:31;;20337:40;657:6:32;20337:4:20;:14;;;;;:40;;;;:::i;:::-;20333:234;;;20389:169;;;;;3404:35:4;;;;;20389:53:20;;:169;;20464:7;;20493:8;;20520:5;;20543:4;;20389:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20333:234;-1:-1:-1;20281:3:20;;20247:326;;;;19016:1561;;18901:1676;;;;:::o;4976:669:19:-;5392:4;5386:11;5433:4;5421:17;;-1:-1:-1;;5307:16:19;5480:26;;;5307:16;5303:32;5452:4;5445:63;5552:6;5544;5537:22;5570:51;5575:14;5591:6;5599;5607:13;5570:4;:51::i;55104:230:20:-;55225:7;55309;55318:8;55292:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;55292:35:20;;;;;;;;;55282:46;;55292:35;55282:46;;;;44308:40;55255:73;;55104:230;-1:-1:-1;;;55104:230:20:o;4391:342:28:-;4507:16;;;4521:1;4507:16;;;;;;;;;4448:22;;4478:26;;4507:16;;;;;;;;;;;;-1:-1:-1;4507:16:28;4478:45;;4562:7;4529:9;4539:1;4529:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;4577:18;4598:49;1075:66;4634:9;4577:18;4598:25;:49::i;:::-;4577:70;;4661:66;:44;4682:5;4689:1;4692:5;:12;4661:20;:44::i;:::-;:64;:66::i;2903:136:4:-;2973:4;3025:9;2992:42;;3011:9;2993:15;3003:4;3802:26;;;3672:162;2993:15;:27;2992:42;;;2985:49;;2903:136;;;;:::o;900:162:19:-;989:68;995:14;1011:6;1019:4;:11;1032:24;1051:4;828::14;818:15;;692:151;1032:24:19;989:5;:68::i;39031:522:20:-;39167:12;39291:257;39330:79;39372:7;39381:8;39391:17;39330:41;:79::i;:::-;39427:1;39446:93;39521:17;39446:66;39494:7;39503:8;39446:47;:66::i;:::-;:74;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;39446:93:20;39291:12;:257::i;1954:561:18:-;2045:5;2140:3;2132:5;:11;:32;;;;2153:4;:11;2147:3;:17;2132:32;2128:80;;;2191:4;2197:5;2204:3;2173:35;;;;;;;;;;;;;:::i;2128:80::-;2274:4;2264:15;;2321:16;2332:5;2264:15;2321:16;:::i;:::-;;-1:-1:-1;2343:12:18;2358:11;2364:5;2358:3;:11;:::i;:::-;643:17;2493:15;2485:3;2474:14;;;;2473:36;;;;;;-1:-1:-1;;;;;1954:561:18:o;40037:220:34:-;40103:24;40135:30;40168:32;40186:6;40194:2;40198:1;40168:17;:32::i;1423:2340:19:-;1536:10;;1532:1504;;1689:2;1679:6;:12;1675:122;;1752:2;1743:6;:11;1725:29;;;;1776:2;1766:12;;;;;;:::i;:::-;;;;1675:122;1887:10;;1883:1147;;2095:2;:11;;;1969:21;-1:-1:-1;;537:1:30;738:25:31;;716:48;2142:18:19;2127:33;;2329:12;2321:6;2317:25;2376:4;2365:9;2361:20;2353:28;;2431:13;2425:20;2414:9;2410:36;2392:54;;2679:4;2675:9;2658:14;2652:21;2648:37;2579:4;2567:10;2563:21;2506:193;2478:14;2458:253;;2770:13;2760:6;:23;2756:36;;2785:7;;;;2756:36;-1:-1:-1;2933:1:19;2915:19;;;;;2988:23;;;;;2946:30;1883:1147;3066:253;3083:2;3073:6;:12;3066:253;;3178:20;;3155:44;;3252:1;3234:19;;;;-1:-1:-1;;3292:12:19;;;;3280:2;3263:19;3066:253;;;3387:10;;3383:376;;3407:12;-1:-1:-1;;537:1:30;738:25:31;;716:48;3695:21:19;;3606:20;;3628:9;;3602:36;3691:32;;3551:184;3507:238;;-1:-1:-1;1423:2340:19;;;;:::o;2615:1129:36:-;2735:22;2765:21;2789;:11;2869:3:18;2847:25;;2773:104;2789:21:36;2765:45;-1:-1:-1;643:17:18;3110:38;;2816:20:36;2978:11;3110:38:18;2978:11:36;2963:26;;;;:::i;:::-;;2949:40;;3098:4;3092:11;3083:20;;3141:4;3134:5;3130:16;3201:4;3188:11;3184:22;3170:12;3166:41;3160:4;3153:55;3251:11;3244:5;3237:26;3294:1;3271:463;3310:11;3307:1;3304:18;3271:463;;;3704:20;;3683:42;;3662:64;;3576:31;;;;3489:4;3471:23;;;;3397:1;3390:9;3271:463;;;3275:28;;3050:690;;;2615:1129;;;;;:::o;14:332:207:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;983:184;-1:-1:-1;;;1032:1:207;1025:88;1132:4;1129:1;1122:15;1156:4;1153:1;1146:15;1172:334;1243:2;1237:9;1299:2;1289:13;;-1:-1:-1;;1285:86:207;1273:99;;1402:18;1387:34;;1423:22;;;1384:62;1381:88;;;1449:18;;:::i;:::-;1485:2;1478:22;1172:334;;-1:-1:-1;1172:334:207:o;1511:245::-;1559:4;1592:18;1584:6;1581:30;1578:56;;;1614:18;;:::i;:::-;-1:-1:-1;1671:2:207;1659:15;-1:-1:-1;;1655:88:207;1745:4;1651:99;;1511:245::o;1761:336::-;1825:5;1854:52;1870:35;1898:6;1870:35;:::i;:::-;1854:52;:::i;:::-;1845:61;;1929:6;1922:5;1915:21;1969:3;1960:6;1955:3;1951:16;1948:25;1945:45;;;1986:1;1983;1976:12;1945:45;2035:6;2030:3;2023:4;2016:5;2012:16;1999:43;2089:1;2082:4;2073:6;2066:5;2062:18;2058:29;2051:40;1761:336;;;;;:::o;2102:220::-;2144:5;2197:3;2190:4;2182:6;2178:17;2174:27;2164:55;;2215:1;2212;2205:12;2164:55;2237:79;2312:3;2303:6;2290:20;2283:4;2275:6;2271:17;2237:79;:::i;2327:419::-;2435:6;2443;2496:2;2484:9;2475:7;2471:23;2467:32;2464:52;;;2512:1;2509;2502:12;2464:52;2548:9;2535:23;2525:33;;2609:2;2598:9;2594:18;2581:32;2636:18;2628:6;2625:30;2622:50;;;2668:1;2665;2658:12;2622:50;2691:49;2732:7;2723:6;2712:9;2708:22;2691:49;:::i;:::-;2681:59;;;2327:419;;;;;:::o;2751:250::-;2836:1;2846:113;2860:6;2857:1;2854:13;2846:113;;;2936:11;;;2930:18;2917:11;;;2910:39;2882:2;2875:10;2846:113;;;-1:-1:-1;;2993:1:207;2975:16;;2968:27;2751:250::o;3006:329::-;3047:3;3085:5;3079:12;3112:6;3107:3;3100:19;3128:76;3197:6;3190:4;3185:3;3181:14;3174:4;3167:5;3163:16;3128:76;:::i;:::-;3249:2;3237:15;-1:-1:-1;;3233:88:207;3224:98;;;;3324:4;3220:109;;3006:329;-1:-1:-1;;3006:329:207:o;3340:217::-;3487:2;3476:9;3469:21;3450:4;3507:44;3547:2;3536:9;3532:18;3524:6;3507:44;:::i;3744:320::-;3812:6;3865:2;3853:9;3844:7;3840:23;3836:32;3833:52;;;3881:1;3878;3871:12;3833:52;3921:9;3908:23;3954:18;3946:6;3943:30;3940:50;;;3986:1;3983;3976:12;3940:50;4009:49;4050:7;4041:6;4030:9;4026:22;4009:49;:::i;4069:450::-;4138:6;4191:2;4179:9;4170:7;4166:23;4162:32;4159:52;;;4207:1;4204;4197:12;4159:52;4247:9;4234:23;4280:18;4272:6;4269:30;4266:50;;;4312:1;4309;4302:12;4266:50;4335:22;;4388:4;4380:13;;4376:27;-1:-1:-1;4366:55:207;;4417:1;4414;4407:12;4366:55;4440:73;4505:7;4500:2;4487:16;4482:2;4478;4474:11;4440:73;:::i;4966:321::-;5174:6;5163:9;5156:25;5217:2;5212;5201:9;5197:18;5190:30;5137:4;5237:44;5277:2;5266:9;5262:18;5254:6;5237:44;:::i;5616:441::-;5669:5;5722:3;5715:4;5707:6;5703:17;5699:27;5689:55;;5740:1;5737;5730:12;5689:55;5769:6;5763:13;5800:48;5816:31;5844:2;5816:31;:::i;5800:48::-;5873:2;5864:7;5857:19;5919:3;5912:4;5907:2;5899:6;5895:15;5891:26;5888:35;5885:55;;;5936:1;5933;5926:12;5885:55;5949:77;6023:2;6016:4;6007:7;6003:18;5996:4;5988:6;5984:17;5949:77;:::i;6062:335::-;6141:6;6194:2;6182:9;6173:7;6169:23;6165:32;6162:52;;;6210:1;6207;6200:12;6162:52;6243:9;6237:16;6276:18;6268:6;6265:30;6262:50;;;6308:1;6305;6298:12;6262:50;6331:60;6383:7;6374:6;6363:9;6359:22;6331:60;:::i;6402:407::-;6485:5;6525;6519:12;6567:4;6560:5;6556:16;6550:23;6592:66;6684:2;6680;6676:11;6667:20;;6710:1;6702:6;6699:13;6696:107;;;6790:2;6784;6774:6;6771:1;6767:14;6764:1;6760:22;6756:31;6752:2;6748:40;6744:49;6735:58;;6696:107;;;;6402:407;;;:::o;7067:184::-;-1:-1:-1;;;7116:1:207;7109:88;7216:4;7213:1;7206:15;7240:4;7237:1;7230:15;7256:184;-1:-1:-1;;;7305:1:207;7298:88;7405:4;7402:1;7395:15;7429:4;7426:1;7419:15;7445:125;7510:9;;;7531:10;;;7528:36;;;7544:18;;:::i;7575:925::-;8024:66;8016:6;8012:79;8007:3;8000:92;7982:3;8111;8143:2;8139:1;8134:3;8130:11;8123:23;8175:6;8169:13;8191:74;8258:6;8254:1;8249:3;8245:11;8238:4;8230:6;8226:17;8191:74;:::i;:::-;8293:6;8288:3;8284:16;8274:26;;8328:2;8324:1;8320:2;8316:10;8309:22;8362:6;8356:13;8340:29;;8378:75;8444:8;8440:1;8436:2;8432:10;8425:4;8417:6;8413:17;8378:75;:::i;:::-;8473:17;8492:1;8469:25;;7575:925;-1:-1:-1;;;;;7575:925:207:o;8505:339::-;8682:2;8671:9;8664:21;8645:4;8702:44;8742:2;8731:9;8727:18;8719:6;8702:44;:::i;:::-;8694:52;;8794:42;8786:6;8782:55;8777:2;8766:9;8762:18;8755:83;8505:339;;;;;:::o;9036:287::-;9165:3;9203:6;9197:13;9219:66;9278:6;9273:3;9266:4;9258:6;9254:17;9219:66;:::i;:::-;9301:16;;;;;9036:287;-1:-1:-1;;9036:287:207:o;9328:439::-;9381:3;9419:5;9413:12;9446:6;9441:3;9434:19;9472:4;9501;9496:3;9492:14;9485:21;;9540:4;9533:5;9529:16;9563:1;9573:169;9587:6;9584:1;9581:13;9573:169;;;9648:13;;9636:26;;9682:12;;;;9717:15;;;;9609:1;9602:9;9573:169;;;-1:-1:-1;9758:3:207;;9328:439;-1:-1:-1;;;;;9328:439:207:o;9772:465::-;10069:6;10058:9;10051:25;10112:2;10107;10096:9;10092:18;10085:30;10032:4;10132:56;10184:2;10173:9;10169:18;10161:6;10132:56;:::i;:::-;10124:64;;10224:6;10219:2;10208:9;10204:18;10197:34;9772:465;;;;;;:::o;10242:653::-;10382:6;10390;10398;10451:2;10439:9;10430:7;10426:23;10422:32;10419:52;;;10467:1;10464;10457:12;10419:52;10500:9;10494:16;10529:18;10570:2;10562:6;10559:14;10556:34;;;10586:1;10583;10576:12;10556:34;10609:60;10661:7;10652:6;10641:9;10637:22;10609:60;:::i;:::-;10599:70;;10709:2;10698:9;10694:18;10688:25;10678:35;;10759:2;10748:9;10744:18;10738:25;10722:41;;10788:2;10778:8;10775:16;10772:36;;;10804:1;10801;10794:12;10772:36;;10827:62;10881:7;10870:8;10859:9;10855:24;10827:62;:::i;:::-;10817:72;;;10242:653;;;;;:::o;10900:639::-;11150:6;11145:3;11138:19;11120:3;11176:2;11209;11204:3;11200:12;11241:6;11235:13;11306:2;11298:6;11294:15;11327:1;11337:175;11351:6;11348:1;11345:13;11337:175;;;11414:13;;11400:28;;11450:14;;;;11487:15;;;;11373:1;11366:9;11337:175;;;-1:-1:-1;11528:5:207;;10900:639;-1:-1:-1;;;;;;;10900:639:207:o;11544:184::-;-1:-1:-1;;;11593:1:207;11586:88;11693:4;11690:1;11683:15;11717:4;11714:1;11707:15;11733:175;11770:3;11814:4;11807:5;11803:16;11843:4;11834:7;11831:17;11828:43;;11851:18;;:::i;:::-;11900:1;11887:15;;11733:175;-1:-1:-1;;11733:175:207:o;12173:530::-;12358:3;12396:6;12390:13;12412:66;12471:6;12466:3;12459:4;12451:6;12447:17;12412:66;:::i;:::-;12547:2;12543:15;;;;12560:66;12539:88;12500:16;;;;12525:103;;;12655:2;12644:14;;12637:30;;;;12694:2;12683:14;;12173:530;-1:-1:-1;;12173:530:207:o;12708:128::-;12775:9;;;12796:11;;;12793:37;;;12810:18;;:::i;12841:168::-;12914:9;;;12945;;12962:15;;;12956:22;;12942:37;12932:71;;12983:18;;:::i;13014:511::-;13265:2;13254:9;13247:21;13228:4;13291:56;13343:2;13332:9;13328:18;13320:6;13291:56;:::i;:::-;13395:14;13387:6;13383:27;13378:2;13367:9;13363:18;13356:55;13459:9;13451:6;13447:22;13442:2;13431:9;13427:18;13420:50;13487:32;13512:6;13504;13487:32;:::i;:::-;13479:40;13014:511;-1:-1:-1;;;;;;13014:511:207:o;13530:615::-;13840:6;13829:9;13822:25;13883:3;13878:2;13867:9;13863:18;13856:31;13803:4;13910:57;13962:3;13951:9;13947:19;13939:6;13910:57;:::i;:::-;14015:14;14007:6;14003:27;13998:2;13987:9;13983:18;13976:55;14079:9;14071:6;14067:22;14062:2;14051:9;14047:18;14040:50;14107:32;14132:6;14124;14107:32;:::i;:::-;14099:40;13530:615;-1:-1:-1;;;;;;;13530:615:207:o;14150:359::-;14353:2;14342:9;14335:21;14316:4;14373:44;14413:2;14402:9;14398:18;14390:6;14373:44;:::i;:::-;14448:2;14433:18;;14426:34;;;;-1:-1:-1;14491:2:207;14476:18;14469:34;14365:52;14150:359;-1:-1:-1;14150:359:207:o","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","call(bytes32,bytes)":"3ae7af08","callViaSelector(bytes)":"96f09da6","echo(string)":"f15da729","msgSender()":"d737d0c7","readTable()":"2f0515f8","supportsInterface(bytes4)":"01ffc9a7","world()":"30b67baa"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callViaSelector\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"message\",\"type\":\"string\"}],\"name\":\"echo\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"readTable\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}]},\"events\":{\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}]},\"events\":{\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/SystemSwitch.t.sol\":\"EchoSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/gas-report/src/GasReporter.sol\":{\"keccak256\":\"0x2ce3fbd09098ce05ae68684405728c73470ff9ee8c9b1359ff230ecfa5d4d5dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7cf74103308e356e0f30d237f0fdc9864a9cee6a8bafe76baeb71f62b8c6d798\",\"dweb:/ipfs/QmTcACXKUxBZTwfdvJxiHiU8zXMzk732HUzcdiTU9vh55W\"]},\"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\":\"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55\",\"dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0xc6aa930fb9a3df986870e3c77e567cabff12ae5e7b2c2af69669390e018d3728\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8d6d40675ddd6575538cfa915f73fc8379f4c154b034220df2cf6b7be6d9baf\",\"dweb:/ipfs/QmS7RNEDNBq6YwVJ1gPfs36CJg9d6h5MaxPRtuL3726uEK\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4\",\"dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0xa95a7b8095a313078abe9b3953fa4512aac88ead4526e37023583cb5dc274cb3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a878403e5133ec5f250d752e7b7495e2b13420cd3a42fb59aa6d5f8ee6d188b\",\"dweb:/ipfs/QmUGxeD5Y7B5goNNgFcgaAakjoSr4YtVaE3CMAypRUZGmc\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb\",\"dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84\",\"dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xfdeeba7e17c947285610d49d85d402cfe5286c046814f827c1aaa37636c16d8f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5fde8b7c7caf4dcdcb524565cb8745d897d4d22d88fa0744f9db4b3d36a1eee1\",\"dweb:/ipfs/QmbUe4pfJeRqiiPz31BKWbYv12cz8Lz3Ky5yKydtTb4FY9\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x677224ab340753edf523ccff8c9d6ede987addbf0d7bc13d0e479306f3866a99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c0285a7684490d6e65d6f91b3631abdafb135d200ea9068e730dd98017a305e\",\"dweb:/ipfs/QmcURHZiMGnSET9P2iSgph22F6iFdoDbN4WmJsHxTAT5G9\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924\",\"dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67\",\"dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263\",\"dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912\",\"dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x6dc7a614a120b1940ca8de1924e59895a42ef5f0e22d81a9221790fd76687c2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b638521a9590a62c4e976f12be43d0370246836b90227cbf2e306888331986f6\",\"dweb:/ipfs/QmcEpcjHhL9rawjJRuMJvtTv3YwN2ggYsQHXZeoF88VRFX\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2\",\"dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x21d008da9dd112938ad5381264dce39be7855002076afa01d78dc6421a951fd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1af33c3d662d6ba193987ec62c865e05b53ced4904bff9a5729ab3ada2ca3a99\",\"dweb:/ipfs/QmUSXF3R7LwQWW8P6BZCrt3MAgGN5UwiiaHB3DGCSBZLL5\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x1f04af14e5040f71bd3daa79b90245a275e52f8d0294c17ae5bfe9aa727651a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d76533959ded2f58434ae9f89fe8c3ff66095ec94e829f89914b362751799e3a\",\"dweb:/ipfs/Qmb1e12g6Sku2u1R96qei1GhqSNi1sZhKRCb111SyNk1ta\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d\",\"dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x7cafc150d77cb46ecb49b1a1a7d43cc17e21a095596cf544cc8ba6bfe7ed7f20\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://889cadacfbc667e10a7a83ac34e858c76d0472d04cad72c7691a84879e503ce3\",\"dweb:/ipfs/Qmcm6GFFoGFw2nmuz3Z2NRAgqfBPFZixHppmQzZM4Fy3sR\"]},\"node_modules/@latticexyz/store/src/StoreData.sol\":{\"keccak256\":\"0x9d740905a6bd4e322f7cc6f7837fe80d7733f7604d2077e45b58b8c3e84b67dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c53f83af2b84c740ede7fa379d92d86ab2e94341296d930114fa58c0380fd210\",\"dweb:/ipfs/QmTUf3nL1fqKQXuTQF9HyjeWXdXYGemD2EzXUB3BjaNS2A\"]},\"node_modules/@latticexyz/store/src/StoreRead.sol\":{\"keccak256\":\"0x9fdfe426fd74b31fe309efbd9bf30bcfea7457366f8c8138cf0ee0bd983d6c28\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bba26fa27f64c5560708391c09da78a1e8bbaa6b5d515aa7692a57516319ecd\",\"dweb:/ipfs/QmQmDtwG742BMqW8qgiMAccdpZbzxQyyVnW9LMETP2NBVF\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff\",\"dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0xa59c43271d363f2366d6f6732ae586b1a36a3ffa4906b8f5cbbf19d3d314562c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2bd7c9f8f9ad579a8dfec566b2bd2e646f8065ce8a07e6732e11a4a3a2be7787\",\"dweb:/ipfs/QmWBwZGnYYxEiRjFKSsu1mFtCWJYw3XSojhn7zmc5YE4vG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x2e81480e081ce6ad4917ecc634e5c9b7a5674068992ae8d9088f0f6296da3bf7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2acfdee4dd4c0347ec214273184f267db0e7edc82e586600501d13581dbb5551\",\"dweb:/ipfs/QmcD945zNdGfkwKVvKHA2fpBGictaz4cVMnNm96SmTG5qY\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0x29ed1bd962e594e00a9b921ddbbb202a47206adbece718721483a69593b88763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://786df2eca996d18660a4ea7d059dfb8c8476fe5cc8f14e0ce5c8f237e08444ea\",\"dweb:/ipfs/QmQ8dbVA2rMgcb9rznHVjn8DGH9U8bZuHmebukjkYxs2Av\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xe9c42e51b6d20496dde8e8013680ec4a4ea1229fd57f0364a2a061c14c1c115b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2bcbeeb7b3de32fc68102f7875d71348d5a0171dbb50937d6ebeb28dd10d4ed4\",\"dweb:/ipfs/QmPY91z4D25KGLU2nhnZgb538Mh1mi46RbwHQB8kZvXd4h\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xf80e355b361d29b0169483074b73e2502b228d539d5b3511239edfa9644ae270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://067d0b61a94453ed29f985cee8d237b46ef1c95f790848a927951e951ebe5a44\",\"dweb:/ipfs/QmVjF2vEnRXzq1GHXwXd9iHJAfyrZNA2wAuygpZv6dGRTB\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2\",\"dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38\",\"dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64\",\"dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb\",\"dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4\",\"dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf\",\"dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205\",\"dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed\",\"dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xc1b9fa9167dc3d39d5591d0b2d5f7c3c12ad6aeaa0a1b83b1e326ebd104de439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0ff59e3240fc85509fc5a1bc9c158f2056bd4be82ba88100ed138afc08d60c\",\"dweb:/ipfs/QmZScS3xhT8EMX4RrnVEqWm1VrGBG9JiA6aiZWtWMphF7q\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0xd049053827c730ad69585c1c7eb52b4fd9774370063aab461021a111ee0bc86a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5a05e41e45c0054e835565046276d830581ca181e7ff3d83b15c71b6e01af89\",\"dweb:/ipfs/QmZYGFT621rS5fE2WXKX5wqBMENguMuY7DqaXPkZ2rcEfZ\"]},\"node_modules/@latticexyz/world/src/ERC165Checker.sol\":{\"keccak256\":\"0x26204bcfddbc272eae391f4512a629f53697867d582ea8cabcd6a8e04a255270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46944bac8253250ba3f645a6164df8e996738bc76a544867677e54ede57619a1\",\"dweb:/ipfs/QmY1XSxQY9MuQSEvGaeQT6kqmeJ3VhYyRRTfzCkRmdsWsX\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d\",\"dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3\",\"dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0x6c11c44fef08d46ca9f291551a42b8576259f65b7e957aef92540ba0acd72909\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffbc3646ea495350939319f5418ba2dd45b6ec809d6b84ed3264e592a9385bd\",\"dweb:/ipfs/QmPCjuQUMWVUPv7vSVfztnymYA9hUP1xRS62FD6iwzGMuo\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc\",\"dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db\",\"dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x149d3c2b4bbea21047fc8cf79236488764dd8dde6e440dbc37067a8ce8831bbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2f340a5616cafd1d80e6ef79f1620102d3d64730c6aa19ecdbb4ca86aaa59b2\",\"dweb:/ipfs/QmWoXP1BKj8U3ZXXoiTRENCxVaaCxrKAenwCZbCVbyfaZ7\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xf15243b03fdc6e5222aefdaad74fffc909f9058f9d8d6ba06acb797197f74635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3f4ecb21499e677697dbe71002a5e96651fb0d8c279c4065e6441f13a9c75b3\",\"dweb:/ipfs/QmZ7oEHWK85aetzt9uJ3bmJJKLZkK5PoaakxiEDq4xEEww\"]},\"node_modules/@latticexyz/world/src/Module.sol\":{\"keccak256\":\"0xfdfdbdb1373ff83d8529865e21bbe796025861140a0a96c7183bcc6999ba63dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c1d003f9a28bc9098cc669406f569905a7726fc17cb07a6a6027531aebe5020\",\"dweb:/ipfs/QmPrEP9SRfKRouAQmVn6dq4MgguBPboMdMPg88WqBjsjgn\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0x1d380574763b720a8950dc0a14d519c2532f9f27c8115116f0a6f7916c9606b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a395df820ee46be3dcdb36682183811a86cdc848dbd56ecc2a21785a42785cf9\",\"dweb:/ipfs/QmeiuzuHjQuv4GHXXiRkBkxhyN7e9Vy19TYfAccnxWej91\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x9c3e1e5eb40d130e90726ca4bfabd748d190d076ecd95c668f038635f751cad2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40ba8d4ea85cdac5b622117bf70f56466bfd8b3b693fbb4ab266630768f8865d\",\"dweb:/ipfs/QmQ8ttFdCFJdw1thyDJHheoWNkdpQUM2u7kZzi4zj6mYh7\"]},\"node_modules/@latticexyz/world/src/World.sol\":{\"keccak256\":\"0x5f02e221a1f088b56d81894e210ccd97c097b8da2cdc677d073c2722f2a0564a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02134a975fb146c5b37ce8472245982120b13000a8628b99395200458e3fd5ef\",\"dweb:/ipfs/Qmd2Zq9LX1kkEE5UEA6oFWnSpBPTX9F9iU2Z74GHSaDwXX\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006\",\"dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74\",\"dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xea5256f37d5f373dc0d008b30a44f46f85d5aa4826c9c9702e3a62cafe4fc00d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5f34c70731153f300c4d89b4ddcfd0b02834abf208fcd2ec5863fb1dc5bde74f\",\"dweb:/ipfs/QmdmCzFDr6WmSQ23b2T3aaJhJ6Qvzhc9UaE5z33adciAd4\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xd9ead56302e6ce3f7958983f6652c2712df74ce83cd002248b235769bd5f87d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a925eab29746fdcff87662142f61565d64bfa108ee14a9a5d496413c150533c4\",\"dweb:/ipfs/QmaFXKnfuMbkaZCEz3e2J3Nx49keqvmaGa7QLBvbj1ntYt\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0x7451726394ea4c39dcca268895499a7d908bd868092cf9b133772077ad5c6a6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c102f036a0ce081255c1088c75e823e5eb5dfdf36ade55d45a6c3914e2a4a5e5\",\"dweb:/ipfs/QmUWEstc4kRhqvUc5sbPyCvy3kvH3hzmH1GrP8MjyQYy3v\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0xd71d9a5a1ee5969cbfc548ddcd01814293d57b5c7f40df0a8ff926df43ec9d9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6377994ebe168759b1f8ed17d4621720d66259c3ebff77acc2f7cc7dd9fec45\",\"dweb:/ipfs/QmeNaatg7JTe6tLc2RbC28SLEQTJFddXy5xZHmqi9zQ9Jx\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0xba969b5b252d1eb26f22908e4581456a6791e02e693cb14f48de35feb31b56f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34fcc11f5a70bcb51ea1ca76587e7dea7dfb940f522c820988212573a9ca32b6\",\"dweb:/ipfs/QmQSgQdJiXMVVSU5woFMC1mAGJBicBeoQUZ5UVX94UjJbX\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0x90d05ad5b6ce321f2d15d93cc6d126c0332afd161cebd008ea115a552bb0e772\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a6bd7a337b1a8ca9ce2c853db9003352895697d43bdf8c49da850ee19990aa8\",\"dweb:/ipfs/QmbvpN53672EQZMAfmDEC8bP6MRYUnAqLDRUmkkv6DMrAT\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xfe79af16bea789b894c322b3796b7a5fd3042d2da0ea808768e1588bff53056c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15a2c7d26d21773fa41dd3891553ad57520f0c401627da8f79c11751b0fca478\",\"dweb:/ipfs/QmZYpNkSXqqz5tUeqNwppY7Q75ec9gGPv7BkjUJc87AZFE\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x705f45c60cd9f5cf5ed2b92d73bef71f2c234ec281297dae79779860cfdf9e6f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b927d760e5f09c72c421ad62ab8da11a38a2a47d321e6b023e3d7c2a4a46a458\",\"dweb:/ipfs/QmXMDWhE5gVHURzFAL7cyA7EeFJRkykZRZwRV9qrTBj13Y\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x88a0bc28aa9ef62f524fd2592cc0aaaf3e33a8cb0c7674c6dba7f2115be551f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c64f10d7f97971fca0b7b2ab5b38f8d06d85d54b7b34d8ddc90da17264dae7dd\",\"dweb:/ipfs/QmeMgiefFv9fvetswGBG3q2LzL1SJ6zNwBwupSgVpSmpDG\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol\":{\"keccak256\":\"0xfcaedc1b1a23f7b2c40fbc5cc71d1781de18f0b1cfbc40a83876852659137d2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8bad7219652c0f76a46107facc5fdcde7c1d3798d201499d87a7f584ac46db7\",\"dweb:/ipfs/Qma1yhF31Q9wxDYjQ8eCYdjpLVXjC2VVHMCipUjPVrRVdF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InitModuleAddress.sol\":{\"keccak256\":\"0x4d0a317051e00a64696a4f9a749f95953dda5ce6fc086b194f54276af1510395\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e96a02aa8a528d9d18d741a5cac7c19200ee5739ec92d42faafbf64efeeeb69\",\"dweb:/ipfs/QmXkeMC6EyH3b6px685Dgfd5uGnrkfBUAQ4n1S8bsicEWd\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x6d247eea47c3566ea8e71b39e662607509f7a2080eabddf83c9f6b0682d27edc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab03d2cf026d39902ec68c3665a6779053e82e0f60bccfe2810be4b43f05894e\",\"dweb:/ipfs/Qmdzg8bmkWjN4mw9EfnHFqYHpTJACGm9YoYZDZhX1MMamY\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x05b07d7a06c7e801fb0c0143dde8fce02907d9940f2862b63dcf085d43e54fdf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18eaa2e74e9db4d142a7743c6ab9bfa5e9ff5c3700c0db148840266c4ac8ad35\",\"dweb:/ipfs/QmRiBMxuzDRTST9C4nu8jo6z2D44HYG6VEpKNyDPa6HMhS\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x1bf6746d0154dc5464f394e5b3d8d66398a55eaff68f6e2c3f3f964d8daf39cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b902e62ea9758145aaa0677c04b764cf721ba103b8294191cdc4ba6c25f3ba9e\",\"dweb:/ipfs/QmT3m18HiJd8BT1j5pWeXkGMQjqRCfKDiFvoBTBJ8ZKruv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x57b12c2ff2649db6dd7e2acacece0c5fbdcc0f0bff9b28c685c93d4372688568\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a9c39f46cf1e43b13b4a94fad22fde80223f6b5e39c87ca5a8f5d76432d1a3c\",\"dweb:/ipfs/QmNdEEiM7acceMy4ojy9oFKvba7Yjm3MXF1hpnRoWTaAsD\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0x65c5544ed57f2e01d6729339461496fa3db50dd843db6de163e6cca2b9b17c68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d8acc162ac647954ffcfd98f6083823713b10d8dc4a05defc18199e9929faf2\",\"dweb:/ipfs/QmVEwCPrDFcQ84qbJyfm3dNEXuqMbUVVqi5DddmJUREriD\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x98b313c90edc060aed54e1728c5931e104914d485dfb0099099dc469773c6194\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://595d820d40e7faceb413613f24d56e82d13e3e53dd86c69627f1c0f134b5705c\",\"dweb:/ipfs/QmUosi7xfNsg5ehaPNZ7tpU3UxyBMbfQW1ESyqH8Bk73JU\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0xb9b4eada80dfde28cc334d7a8ede2a57b92f3b42f3501af693ba981ba38b8f21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6edf1eb4a0d1730b331eff58f3f26aa037fed7767b6d420a28b905134908bf7\",\"dweb:/ipfs/QmXyZNb5SvwLJ7eG2mrFLDyC6Q2wKPGiHyeQQ21cQLujJR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x25c8832ec6db8bc83d0a3c274d8cb49f93bfc57e2b0125c739caf19c1a2c8a51\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a226cf322efa14384b1191263136af4792d5e6285a7ffa9030218a44ec97d571\",\"dweb:/ipfs/QmYC19AoGU6v15mzTKq2oHWMKUeRnzxGEkKgHVEUcUKw91\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/InitModule.sol\":{\"keccak256\":\"0x2350a2a13cdf3e5420fa9881506936bf32442e4ddfc181c2d499d989e3cd34b6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24ec25478a659cca0c9529366bc139b80d302b5ac201abcec67316cf01e1f3d2\",\"dweb:/ipfs/QmegoDuhwLYsuoR1cXwEerUHkLUKyYC4C4TgZBNJXxAtik\"]},\"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol\":{\"keccak256\":\"0x95e23ed6d143242d8232f484f86c5ed14964d3b3b592a83ac8ad22239a9001aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2974121de686e47139d8adb6bdc7fd0854a56c745cc0497b8a8d88b55a3e77d6\",\"dweb:/ipfs/QmcXGbZL3wnFdJA8cvj9NnQtrnmkj2co84u3CJphYMg2Lc\"]},\"node_modules/@latticexyz/world/src/modules/init/RegistrationSystem.sol\":{\"keccak256\":\"0x10711eaec9cf4f8b64dea5d1956bc80a3bd3c20cf33163a37aefc93d7f9d0be9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5129961b6452d3215fb3c1453da366e5b87cacb9373300879757d48b3c067e9c\",\"dweb:/ipfs/QmRidqUXVZ5jKZes37RWv9MqTmigMUAL1mbMNyeUm1Q3f9\"]},\"node_modules/@latticexyz/world/src/modules/init/constants.sol\":{\"keccak256\":\"0xe7eb58bdb9ebaf16162db44d7b02d7e95f70ac46910c19649bb57b835f96dad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23227e603db835db6390e872d11569749c8c8f22de770aa775ab7c99f450a752\",\"dweb:/ipfs/QmZkGgdNqbno253umMW8sCHC3QKd5WLjrQi7CbH74x36Z8\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/AccessManagementSystem.sol\":{\"keccak256\":\"0xfe822e975fe2c517969c869cfbdf93a3b19ac592f1b8fc1506df406a06de7ad2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd871128dcdfe0d6e1e94e850697f5a3ba92cba7c73ddadfdcfdf662764685c8\",\"dweb:/ipfs/QmakCjH7YD5onmsRXvz3uF8J2rYLyZuKp7Hnudb2ujmR2n\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/BalanceTransferSystem.sol\":{\"keccak256\":\"0xd8e708ee700909e384843edde3d9838463829f5ef241935c7cf9a4369142d50b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ab83e7fe45851c2eb2e42a1710a3fb72afae67c081160d9b2cae781db8b0d9c\",\"dweb:/ipfs/QmWCwbEVWLazh7y41pBFrMe66NW7bmWYJrkJSizvZLvSm8\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/BatchCallSystem.sol\":{\"keccak256\":\"0xcdcc115c3c0e23f385e4821beba4d3ec1c091d34edacc6b3ca7d0d53c5429ad7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b63292fd9897da4068d6821b7e8fcc5a7da42b695501c8c3113816f271e89160\",\"dweb:/ipfs/QmPfVA8VrydLvmWFDTWAthuH7wakGCRR9BL2i5UcBMaTqC\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/ModuleInstallationSystem.sol\":{\"keccak256\":\"0xe00ff4886f017f75372be42ced66025a2d200d780198a89022bda32424927f93\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb75902a76ab392bd46170a64ab575232ae172f47bc7ec095016fe2cf344a216\",\"dweb:/ipfs/QmRJsK7ZtS4mm3JmXDW5uLaeCdBPShMVYmDmNjCKiv1k9z\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/StoreRegistrationSystem.sol\":{\"keccak256\":\"0x6de6e033845658f714e478982b9125bedb74d4db4e5794e647bc3c4fb6b5f84f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c22d4ee79114f3a59bc7da6bc74e9ca0412a5c0bd606ccf79b141064699d2a7\",\"dweb:/ipfs/QmRuVPECJGZTw9k2PfAdDbbUUnptAF4e9VcqMkzhJ9mBBL\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0xe4b91af36de3852dea10f354ee91b7e6c8a78a0f4c40f72b94bdca411599ca6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd5e616104f0eb8c261f55901579b09871e91784995e3cb1055ac575995f7535\",\"dweb:/ipfs/QmYinJme183sz4QXH642734s62U8YkGWZ5fNPPfC6GzJmw\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x1876630a009a39e1a771e5d05d420731b85523b4fe091ce04a72f6f283f5e9b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1166a3d9f7db80d2e041def918fa54baa0f4d51edb35731a8b2bf6ee76810411\",\"dweb:/ipfs/Qmf5VmgLsWJy3Tea5JM9mzCKJ49NJC1fRcgWGVFruusBgJ\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x95e9469529f790727966c513ed19b42abf065a2cd482faba4b8e3404edfb8730\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da63bf514679a87134d2c36563c9c398906e1e06b27cb17eed10895cd7c87658\",\"dweb:/ipfs/QmUrfkw8YTs6zUq5eaWPgdLmTUJVsp1CRBGQz6kdh7bs3C\"]},\"node_modules/@latticexyz/world/src/requireNamespace.sol\":{\"keccak256\":\"0x3a98f80c6438d8670281c5ef1ecfc7ddc9c7c0d09fa66d54dda4fa812c89baa1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb7093a4816d52af381d8959601046a1d307fb32b11dfb787813144eb01ca9c6\",\"dweb:/ipfs/QmUj9hw39TNTtamhWvYAe647CYvNuTfxwsYSu2H4QmHfPi\"]},\"node_modules/@latticexyz/world/src/requireValidNamespace.sol\":{\"keccak256\":\"0x75f4a72a942bd59d237e6a1329da8f9a582b8d3d94ffeeb2ee4d7cfe992881bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d6d3c0bb90663d8d411ef056faf0a126727fdeba806efea4403815943b94027\",\"dweb:/ipfs/QmXrAEDnRrqj3137fXPc91jyDMHFZHHJ39NmMUEh1y2AgL\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8\",\"dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0xf312c694828e49cd263d1df8ba82beb0376ce8dce1337f9e62ec52e3ed36a145\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b060c176e46fa6e55d2f525d1f1c64e3c371e6bf24b6d0ff05ae20b3c0c0c0d\",\"dweb:/ipfs/QmdLfnBQrYnLq1iwjX9UyzpDqe6EyJ21T56ZWUVJr1VQCy\"]},\"node_modules/@latticexyz/world/src/version.sol\":{\"keccak256\":\"0x940fa33f2a4986bda788f9418fe4e51ae206a6e4954721443cec11ebf2e700be\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3aacb56ffa02e40a60b9343aae4fe7c0d9623b74c6ee70b9a42f8428e64e4d4e\",\"dweb:/ipfs/QmNXwHcUzNEvqjaSTdooSV3hhCkGadpT9peQAmhLaQTj2k\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d\",\"dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12\"]},\"node_modules/@latticexyz/world/test/createInitModule.sol\":{\"keccak256\":\"0x33c10482c6b5ef633dcf13d189c5e2784c46a9546fe77e3ca1817319cf88c383\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6b34b376720cde9198eaf0580ae627d0b6cb1288dcc3c1d25f239f91a57ebdc\",\"dweb:/ipfs/QmSYrvgzwd5tmwRta3DAEhokbXAyEX9ZGwpM44S1X2S6Wa\"]},\"node_modules/@latticexyz/world/test/createWorld.sol\":{\"keccak256\":\"0x59bb3ecd3c665237a7f2a21220c8526bcf3b12475af458bea0ad7d7403e31196\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c7ba0904844102cf553f2986f910ba9c143c7a38aa6ce27280a13e68a058ee4\",\"dweb:/ipfs/QmYFgCZt9CDaoAeqjLy8LbujQntZLB58mbdLECEnV5Uq8f\"]},\"node_modules/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"node_modules/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"node_modules/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"node_modules/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d\",\"dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx\"]},\"node_modules/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"node_modules/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"node_modules/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c\",\"dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss\"]},\"node_modules/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"node_modules/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"node_modules/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"node_modules/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"node_modules/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"node_modules/forge-std/src/Test.sol\":{\"keccak256\":\"0xf3b62c75cea11a0e8ef8e6526e5e5c74ae47a892b9bcefc0e98d76066e1ffd24\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a41faaf836453e02c71fc272c80b3c90a614b30c9ba636512db0d033c7b93beb\",\"dweb:/ipfs/QmeQAreYYaxztQtFLQdHCzCPEorj9T5foSu2hQmxk7xT5x\"]},\"node_modules/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"node_modules/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"node_modules/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"node_modules/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"src/utils/SystemSwitch.sol\":{\"keccak256\":\"0xd2cf96d4ee02a2b10f4866d9d04d0804b1c1dc79a2c266c9e8fea089d81f0cf4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2641c6f11504b3fea72586239a55c45f56a98a4537a8d6e6ab2e2b762ef93cbb\",\"dweb:/ipfs/QmPKb6UvnHQa8iek5LMCqNo3DXdHdF1vtcLZRAMxmosFJt\"]},\"test/SystemSwitch.t.sol\":{\"keccak256\":\"0xb52619c667fa984a7eb4b20a96e9ccc0821de37d3213083291d1186c13a8ce88\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae45513bc0a0283cda6505febf89b46088fe5cee533e17e6b8c482ef33d4409a\",\"dweb:/ipfs/QmaGp3uFjpnkxKweYytSuEPqoDk8o8DoTqzoy6w1mHakvh\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"callViaSelector","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"message","type":"string"}],"stateMutability":"pure","type":"function","name":"echo","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"msgSender","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"readTable","outputs":[{"internalType":"Schema","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"world","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"test/SystemSwitch.t.sol":"EchoSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/gas-report/src/GasReporter.sol":{"keccak256":"0x2ce3fbd09098ce05ae68684405728c73470ff9ee8c9b1359ff230ecfa5d4d5dd","urls":["bzz-raw://7cf74103308e356e0f30d237f0fdc9864a9cee6a8bafe76baeb71f62b8c6d798","dweb:/ipfs/QmTcACXKUxBZTwfdvJxiHiU8zXMzk732HUzcdiTU9vh55W"],"license":"MIT"},"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":"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd","urls":["bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55","dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0xc6aa930fb9a3df986870e3c77e567cabff12ae5e7b2c2af69669390e018d3728","urls":["bzz-raw://a8d6d40675ddd6575538cfa915f73fc8379f4c154b034220df2cf6b7be6d9baf","dweb:/ipfs/QmS7RNEDNBq6YwVJ1gPfs36CJg9d6h5MaxPRtuL3726uEK"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09","urls":["bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4","dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2"],"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/IStore.sol":{"keccak256":"0xa95a7b8095a313078abe9b3953fa4512aac88ead4526e37023583cb5dc274cb3","urls":["bzz-raw://8a878403e5133ec5f250d752e7b7495e2b13420cd3a42fb59aa6d5f8ee6d188b","dweb:/ipfs/QmUGxeD5Y7B5goNNgFcgaAakjoSr4YtVaE3CMAypRUZGmc"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec","urls":["bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb","dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79","urls":["bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84","dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xfdeeba7e17c947285610d49d85d402cfe5286c046814f827c1aaa37636c16d8f","urls":["bzz-raw://5fde8b7c7caf4dcdcb524565cb8745d897d4d22d88fa0744f9db4b3d36a1eee1","dweb:/ipfs/QmbUe4pfJeRqiiPz31BKWbYv12cz8Lz3Ky5yKydtTb4FY9"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x677224ab340753edf523ccff8c9d6ede987addbf0d7bc13d0e479306f3866a99","urls":["bzz-raw://6c0285a7684490d6e65d6f91b3631abdafb135d200ea9068e730dd98017a305e","dweb:/ipfs/QmcURHZiMGnSET9P2iSgph22F6iFdoDbN4WmJsHxTAT5G9"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449","urls":["bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924","dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167","urls":["bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67","dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc","urls":["bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263","dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d","urls":["bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912","dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x6dc7a614a120b1940ca8de1924e59895a42ef5f0e22d81a9221790fd76687c2e","urls":["bzz-raw://b638521a9590a62c4e976f12be43d0370246836b90227cbf2e306888331986f6","dweb:/ipfs/QmcEpcjHhL9rawjJRuMJvtTv3YwN2ggYsQHXZeoF88VRFX"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18","urls":["bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2","dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x21d008da9dd112938ad5381264dce39be7855002076afa01d78dc6421a951fd8","urls":["bzz-raw://1af33c3d662d6ba193987ec62c865e05b53ced4904bff9a5729ab3ada2ca3a99","dweb:/ipfs/QmUSXF3R7LwQWW8P6BZCrt3MAgGN5UwiiaHB3DGCSBZLL5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0x1f04af14e5040f71bd3daa79b90245a275e52f8d0294c17ae5bfe9aa727651a5","urls":["bzz-raw://d76533959ded2f58434ae9f89fe8c3ff66095ec94e829f89914b362751799e3a","dweb:/ipfs/Qmb1e12g6Sku2u1R96qei1GhqSNi1sZhKRCb111SyNk1ta"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f","urls":["bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d","dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x7cafc150d77cb46ecb49b1a1a7d43cc17e21a095596cf544cc8ba6bfe7ed7f20","urls":["bzz-raw://889cadacfbc667e10a7a83ac34e858c76d0472d04cad72c7691a84879e503ce3","dweb:/ipfs/Qmcm6GFFoGFw2nmuz3Z2NRAgqfBPFZixHppmQzZM4Fy3sR"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreData.sol":{"keccak256":"0x9d740905a6bd4e322f7cc6f7837fe80d7733f7604d2077e45b58b8c3e84b67dd","urls":["bzz-raw://c53f83af2b84c740ede7fa379d92d86ab2e94341296d930114fa58c0380fd210","dweb:/ipfs/QmTUf3nL1fqKQXuTQF9HyjeWXdXYGemD2EzXUB3BjaNS2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreRead.sol":{"keccak256":"0x9fdfe426fd74b31fe309efbd9bf30bcfea7457366f8c8138cf0ee0bd983d6c28","urls":["bzz-raw://5bba26fa27f64c5560708391c09da78a1e8bbaa6b5d515aa7692a57516319ecd","dweb:/ipfs/QmQmDtwG742BMqW8qgiMAccdpZbzxQyyVnW9LMETP2NBVF"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9","urls":["bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff","dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0xa59c43271d363f2366d6f6732ae586b1a36a3ffa4906b8f5cbbf19d3d314562c","urls":["bzz-raw://2bd7c9f8f9ad579a8dfec566b2bd2e646f8065ce8a07e6732e11a4a3a2be7787","dweb:/ipfs/QmWBwZGnYYxEiRjFKSsu1mFtCWJYw3XSojhn7zmc5YE4vG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x2e81480e081ce6ad4917ecc634e5c9b7a5674068992ae8d9088f0f6296da3bf7","urls":["bzz-raw://2acfdee4dd4c0347ec214273184f267db0e7edc82e586600501d13581dbb5551","dweb:/ipfs/QmcD945zNdGfkwKVvKHA2fpBGictaz4cVMnNm96SmTG5qY"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0x29ed1bd962e594e00a9b921ddbbb202a47206adbece718721483a69593b88763","urls":["bzz-raw://786df2eca996d18660a4ea7d059dfb8c8476fe5cc8f14e0ce5c8f237e08444ea","dweb:/ipfs/QmQ8dbVA2rMgcb9rznHVjn8DGH9U8bZuHmebukjkYxs2Av"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xe9c42e51b6d20496dde8e8013680ec4a4ea1229fd57f0364a2a061c14c1c115b","urls":["bzz-raw://2bcbeeb7b3de32fc68102f7875d71348d5a0171dbb50937d6ebeb28dd10d4ed4","dweb:/ipfs/QmPY91z4D25KGLU2nhnZgb538Mh1mi46RbwHQB8kZvXd4h"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xf80e355b361d29b0169483074b73e2502b228d539d5b3511239edfa9644ae270","urls":["bzz-raw://067d0b61a94453ed29f985cee8d237b46ef1c95f790848a927951e951ebe5a44","dweb:/ipfs/QmVjF2vEnRXzq1GHXwXd9iHJAfyrZNA2wAuygpZv6dGRTB"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50","urls":["bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2","dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410","urls":["bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38","dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305","urls":["bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64","dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554","urls":["bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb","dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7","urls":["bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4","dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29","urls":["bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf","dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a","urls":["bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205","dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61","urls":["bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed","dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xc1b9fa9167dc3d39d5591d0b2d5f7c3c12ad6aeaa0a1b83b1e326ebd104de439","urls":["bzz-raw://ed0ff59e3240fc85509fc5a1bc9c158f2056bd4be82ba88100ed138afc08d60c","dweb:/ipfs/QmZScS3xhT8EMX4RrnVEqWm1VrGBG9JiA6aiZWtWMphF7q"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0xd049053827c730ad69585c1c7eb52b4fd9774370063aab461021a111ee0bc86a","urls":["bzz-raw://e5a05e41e45c0054e835565046276d830581ca181e7ff3d83b15c71b6e01af89","dweb:/ipfs/QmZYGFT621rS5fE2WXKX5wqBMENguMuY7DqaXPkZ2rcEfZ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ERC165Checker.sol":{"keccak256":"0x26204bcfddbc272eae391f4512a629f53697867d582ea8cabcd6a8e04a255270","urls":["bzz-raw://46944bac8253250ba3f645a6164df8e996738bc76a544867677e54ede57619a1","dweb:/ipfs/QmY1XSxQY9MuQSEvGaeQT6kqmeJ3VhYyRRTfzCkRmdsWsX"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e","urls":["bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d","dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695","urls":["bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3","dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0x6c11c44fef08d46ca9f291551a42b8576259f65b7e957aef92540ba0acd72909","urls":["bzz-raw://0ffbc3646ea495350939319f5418ba2dd45b6ec809d6b84ed3264e592a9385bd","dweb:/ipfs/QmPCjuQUMWVUPv7vSVfztnymYA9hUP1xRS62FD6iwzGMuo"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc","urls":["bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc","dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402","urls":["bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db","dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x149d3c2b4bbea21047fc8cf79236488764dd8dde6e440dbc37067a8ce8831bbd","urls":["bzz-raw://d2f340a5616cafd1d80e6ef79f1620102d3d64730c6aa19ecdbb4ca86aaa59b2","dweb:/ipfs/QmWoXP1BKj8U3ZXXoiTRENCxVaaCxrKAenwCZbCVbyfaZ7"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xf15243b03fdc6e5222aefdaad74fffc909f9058f9d8d6ba06acb797197f74635","urls":["bzz-raw://c3f4ecb21499e677697dbe71002a5e96651fb0d8c279c4065e6441f13a9c75b3","dweb:/ipfs/QmZ7oEHWK85aetzt9uJ3bmJJKLZkK5PoaakxiEDq4xEEww"],"license":"MIT"},"node_modules/@latticexyz/world/src/Module.sol":{"keccak256":"0xfdfdbdb1373ff83d8529865e21bbe796025861140a0a96c7183bcc6999ba63dd","urls":["bzz-raw://1c1d003f9a28bc9098cc669406f569905a7726fc17cb07a6a6027531aebe5020","dweb:/ipfs/QmPrEP9SRfKRouAQmVn6dq4MgguBPboMdMPg88WqBjsjgn"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0x1d380574763b720a8950dc0a14d519c2532f9f27c8115116f0a6f7916c9606b3","urls":["bzz-raw://a395df820ee46be3dcdb36682183811a86cdc848dbd56ecc2a21785a42785cf9","dweb:/ipfs/QmeiuzuHjQuv4GHXXiRkBkxhyN7e9Vy19TYfAccnxWej91"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x9c3e1e5eb40d130e90726ca4bfabd748d190d076ecd95c668f038635f751cad2","urls":["bzz-raw://40ba8d4ea85cdac5b622117bf70f56466bfd8b3b693fbb4ab266630768f8865d","dweb:/ipfs/QmQ8ttFdCFJdw1thyDJHheoWNkdpQUM2u7kZzi4zj6mYh7"],"license":"MIT"},"node_modules/@latticexyz/world/src/World.sol":{"keccak256":"0x5f02e221a1f088b56d81894e210ccd97c097b8da2cdc677d073c2722f2a0564a","urls":["bzz-raw://02134a975fb146c5b37ce8472245982120b13000a8628b99395200458e3fd5ef","dweb:/ipfs/Qmd2Zq9LX1kkEE5UEA6oFWnSpBPTX9F9iU2Z74GHSaDwXX"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf","urls":["bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006","dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd","urls":["bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74","dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0xea5256f37d5f373dc0d008b30a44f46f85d5aa4826c9c9702e3a62cafe4fc00d","urls":["bzz-raw://5f34c70731153f300c4d89b4ddcfd0b02834abf208fcd2ec5863fb1dc5bde74f","dweb:/ipfs/QmdmCzFDr6WmSQ23b2T3aaJhJ6Qvzhc9UaE5z33adciAd4"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xd9ead56302e6ce3f7958983f6652c2712df74ce83cd002248b235769bd5f87d4","urls":["bzz-raw://a925eab29746fdcff87662142f61565d64bfa108ee14a9a5d496413c150533c4","dweb:/ipfs/QmaFXKnfuMbkaZCEz3e2J3Nx49keqvmaGa7QLBvbj1ntYt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0x7451726394ea4c39dcca268895499a7d908bd868092cf9b133772077ad5c6a6a","urls":["bzz-raw://c102f036a0ce081255c1088c75e823e5eb5dfdf36ade55d45a6c3914e2a4a5e5","dweb:/ipfs/QmUWEstc4kRhqvUc5sbPyCvy3kvH3hzmH1GrP8MjyQYy3v"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0xd71d9a5a1ee5969cbfc548ddcd01814293d57b5c7f40df0a8ff926df43ec9d9b","urls":["bzz-raw://c6377994ebe168759b1f8ed17d4621720d66259c3ebff77acc2f7cc7dd9fec45","dweb:/ipfs/QmeNaatg7JTe6tLc2RbC28SLEQTJFddXy5xZHmqi9zQ9Jx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0xba969b5b252d1eb26f22908e4581456a6791e02e693cb14f48de35feb31b56f4","urls":["bzz-raw://34fcc11f5a70bcb51ea1ca76587e7dea7dfb940f522c820988212573a9ca32b6","dweb:/ipfs/QmQSgQdJiXMVVSU5woFMC1mAGJBicBeoQUZ5UVX94UjJbX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0x90d05ad5b6ce321f2d15d93cc6d126c0332afd161cebd008ea115a552bb0e772","urls":["bzz-raw://9a6bd7a337b1a8ca9ce2c853db9003352895697d43bdf8c49da850ee19990aa8","dweb:/ipfs/QmbvpN53672EQZMAfmDEC8bP6MRYUnAqLDRUmkkv6DMrAT"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0xfe79af16bea789b894c322b3796b7a5fd3042d2da0ea808768e1588bff53056c","urls":["bzz-raw://15a2c7d26d21773fa41dd3891553ad57520f0c401627da8f79c11751b0fca478","dweb:/ipfs/QmZYpNkSXqqz5tUeqNwppY7Q75ec9gGPv7BkjUJc87AZFE"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x705f45c60cd9f5cf5ed2b92d73bef71f2c234ec281297dae79779860cfdf9e6f","urls":["bzz-raw://b927d760e5f09c72c421ad62ab8da11a38a2a47d321e6b023e3d7c2a4a46a458","dweb:/ipfs/QmXMDWhE5gVHURzFAL7cyA7EeFJRkykZRZwRV9qrTBj13Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x88a0bc28aa9ef62f524fd2592cc0aaaf3e33a8cb0c7674c6dba7f2115be551f8","urls":["bzz-raw://c64f10d7f97971fca0b7b2ab5b38f8d06d85d54b7b34d8ddc90da17264dae7dd","dweb:/ipfs/QmeMgiefFv9fvetswGBG3q2LzL1SJ6zNwBwupSgVpSmpDG"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol":{"keccak256":"0xfcaedc1b1a23f7b2c40fbc5cc71d1781de18f0b1cfbc40a83876852659137d2b","urls":["bzz-raw://d8bad7219652c0f76a46107facc5fdcde7c1d3798d201499d87a7f584ac46db7","dweb:/ipfs/Qma1yhF31Q9wxDYjQ8eCYdjpLVXjC2VVHMCipUjPVrRVdF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InitModuleAddress.sol":{"keccak256":"0x4d0a317051e00a64696a4f9a749f95953dda5ce6fc086b194f54276af1510395","urls":["bzz-raw://5e96a02aa8a528d9d18d741a5cac7c19200ee5739ec92d42faafbf64efeeeb69","dweb:/ipfs/QmXkeMC6EyH3b6px685Dgfd5uGnrkfBUAQ4n1S8bsicEWd"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0x6d247eea47c3566ea8e71b39e662607509f7a2080eabddf83c9f6b0682d27edc","urls":["bzz-raw://ab03d2cf026d39902ec68c3665a6779053e82e0f60bccfe2810be4b43f05894e","dweb:/ipfs/Qmdzg8bmkWjN4mw9EfnHFqYHpTJACGm9YoYZDZhX1MMamY"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x05b07d7a06c7e801fb0c0143dde8fce02907d9940f2862b63dcf085d43e54fdf","urls":["bzz-raw://18eaa2e74e9db4d142a7743c6ab9bfa5e9ff5c3700c0db148840266c4ac8ad35","dweb:/ipfs/QmRiBMxuzDRTST9C4nu8jo6z2D44HYG6VEpKNyDPa6HMhS"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x1bf6746d0154dc5464f394e5b3d8d66398a55eaff68f6e2c3f3f964d8daf39cd","urls":["bzz-raw://b902e62ea9758145aaa0677c04b764cf721ba103b8294191cdc4ba6c25f3ba9e","dweb:/ipfs/QmT3m18HiJd8BT1j5pWeXkGMQjqRCfKDiFvoBTBJ8ZKruv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x57b12c2ff2649db6dd7e2acacece0c5fbdcc0f0bff9b28c685c93d4372688568","urls":["bzz-raw://3a9c39f46cf1e43b13b4a94fad22fde80223f6b5e39c87ca5a8f5d76432d1a3c","dweb:/ipfs/QmNdEEiM7acceMy4ojy9oFKvba7Yjm3MXF1hpnRoWTaAsD"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0x65c5544ed57f2e01d6729339461496fa3db50dd843db6de163e6cca2b9b17c68","urls":["bzz-raw://9d8acc162ac647954ffcfd98f6083823713b10d8dc4a05defc18199e9929faf2","dweb:/ipfs/QmVEwCPrDFcQ84qbJyfm3dNEXuqMbUVVqi5DddmJUREriD"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x98b313c90edc060aed54e1728c5931e104914d485dfb0099099dc469773c6194","urls":["bzz-raw://595d820d40e7faceb413613f24d56e82d13e3e53dd86c69627f1c0f134b5705c","dweb:/ipfs/QmUosi7xfNsg5ehaPNZ7tpU3UxyBMbfQW1ESyqH8Bk73JU"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0xb9b4eada80dfde28cc334d7a8ede2a57b92f3b42f3501af693ba981ba38b8f21","urls":["bzz-raw://c6edf1eb4a0d1730b331eff58f3f26aa037fed7767b6d420a28b905134908bf7","dweb:/ipfs/QmXyZNb5SvwLJ7eG2mrFLDyC6Q2wKPGiHyeQQ21cQLujJR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x25c8832ec6db8bc83d0a3c274d8cb49f93bfc57e2b0125c739caf19c1a2c8a51","urls":["bzz-raw://a226cf322efa14384b1191263136af4792d5e6285a7ffa9030218a44ec97d571","dweb:/ipfs/QmYC19AoGU6v15mzTKq2oHWMKUeRnzxGEkKgHVEUcUKw91"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/InitModule.sol":{"keccak256":"0x2350a2a13cdf3e5420fa9881506936bf32442e4ddfc181c2d499d989e3cd34b6","urls":["bzz-raw://24ec25478a659cca0c9529366bc139b80d302b5ac201abcec67316cf01e1f3d2","dweb:/ipfs/QmegoDuhwLYsuoR1cXwEerUHkLUKyYC4C4TgZBNJXxAtik"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol":{"keccak256":"0x95e23ed6d143242d8232f484f86c5ed14964d3b3b592a83ac8ad22239a9001aa","urls":["bzz-raw://2974121de686e47139d8adb6bdc7fd0854a56c745cc0497b8a8d88b55a3e77d6","dweb:/ipfs/QmcXGbZL3wnFdJA8cvj9NnQtrnmkj2co84u3CJphYMg2Lc"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/RegistrationSystem.sol":{"keccak256":"0x10711eaec9cf4f8b64dea5d1956bc80a3bd3c20cf33163a37aefc93d7f9d0be9","urls":["bzz-raw://5129961b6452d3215fb3c1453da366e5b87cacb9373300879757d48b3c067e9c","dweb:/ipfs/QmRidqUXVZ5jKZes37RWv9MqTmigMUAL1mbMNyeUm1Q3f9"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/constants.sol":{"keccak256":"0xe7eb58bdb9ebaf16162db44d7b02d7e95f70ac46910c19649bb57b835f96dad9","urls":["bzz-raw://23227e603db835db6390e872d11569749c8c8f22de770aa775ab7c99f450a752","dweb:/ipfs/QmZkGgdNqbno253umMW8sCHC3QKd5WLjrQi7CbH74x36Z8"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/AccessManagementSystem.sol":{"keccak256":"0xfe822e975fe2c517969c869cfbdf93a3b19ac592f1b8fc1506df406a06de7ad2","urls":["bzz-raw://dd871128dcdfe0d6e1e94e850697f5a3ba92cba7c73ddadfdcfdf662764685c8","dweb:/ipfs/QmakCjH7YD5onmsRXvz3uF8J2rYLyZuKp7Hnudb2ujmR2n"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/BalanceTransferSystem.sol":{"keccak256":"0xd8e708ee700909e384843edde3d9838463829f5ef241935c7cf9a4369142d50b","urls":["bzz-raw://6ab83e7fe45851c2eb2e42a1710a3fb72afae67c081160d9b2cae781db8b0d9c","dweb:/ipfs/QmWCwbEVWLazh7y41pBFrMe66NW7bmWYJrkJSizvZLvSm8"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/BatchCallSystem.sol":{"keccak256":"0xcdcc115c3c0e23f385e4821beba4d3ec1c091d34edacc6b3ca7d0d53c5429ad7","urls":["bzz-raw://b63292fd9897da4068d6821b7e8fcc5a7da42b695501c8c3113816f271e89160","dweb:/ipfs/QmPfVA8VrydLvmWFDTWAthuH7wakGCRR9BL2i5UcBMaTqC"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/ModuleInstallationSystem.sol":{"keccak256":"0xe00ff4886f017f75372be42ced66025a2d200d780198a89022bda32424927f93","urls":["bzz-raw://cb75902a76ab392bd46170a64ab575232ae172f47bc7ec095016fe2cf344a216","dweb:/ipfs/QmRJsK7ZtS4mm3JmXDW5uLaeCdBPShMVYmDmNjCKiv1k9z"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/StoreRegistrationSystem.sol":{"keccak256":"0x6de6e033845658f714e478982b9125bedb74d4db4e5794e647bc3c4fb6b5f84f","urls":["bzz-raw://4c22d4ee79114f3a59bc7da6bc74e9ca0412a5c0bd606ccf79b141064699d2a7","dweb:/ipfs/QmRuVPECJGZTw9k2PfAdDbbUUnptAF4e9VcqMkzhJ9mBBL"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":{"keccak256":"0xe4b91af36de3852dea10f354ee91b7e6c8a78a0f4c40f72b94bdca411599ca6e","urls":["bzz-raw://fd5e616104f0eb8c261f55901579b09871e91784995e3cb1055ac575995f7535","dweb:/ipfs/QmYinJme183sz4QXH642734s62U8YkGWZ5fNPPfC6GzJmw"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x1876630a009a39e1a771e5d05d420731b85523b4fe091ce04a72f6f283f5e9b3","urls":["bzz-raw://1166a3d9f7db80d2e041def918fa54baa0f4d51edb35731a8b2bf6ee76810411","dweb:/ipfs/Qmf5VmgLsWJy3Tea5JM9mzCKJ49NJC1fRcgWGVFruusBgJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireInterface.sol":{"keccak256":"0x95e9469529f790727966c513ed19b42abf065a2cd482faba4b8e3404edfb8730","urls":["bzz-raw://da63bf514679a87134d2c36563c9c398906e1e06b27cb17eed10895cd7c87658","dweb:/ipfs/QmUrfkw8YTs6zUq5eaWPgdLmTUJVsp1CRBGQz6kdh7bs3C"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireNamespace.sol":{"keccak256":"0x3a98f80c6438d8670281c5ef1ecfc7ddc9c7c0d09fa66d54dda4fa812c89baa1","urls":["bzz-raw://fb7093a4816d52af381d8959601046a1d307fb32b11dfb787813144eb01ca9c6","dweb:/ipfs/QmUj9hw39TNTtamhWvYAe647CYvNuTfxwsYSu2H4QmHfPi"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireValidNamespace.sol":{"keccak256":"0x75f4a72a942bd59d237e6a1329da8f9a582b8d3d94ffeeb2ee4d7cfe992881bc","urls":["bzz-raw://5d6d3c0bb90663d8d411ef056faf0a126727fdeba806efea4403815943b94027","dweb:/ipfs/QmXrAEDnRrqj3137fXPc91jyDMHFZHHJ39NmMUEh1y2AgL"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a","urls":["bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8","dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0xf312c694828e49cd263d1df8ba82beb0376ce8dce1337f9e62ec52e3ed36a145","urls":["bzz-raw://2b060c176e46fa6e55d2f525d1f1c64e3c371e6bf24b6d0ff05ae20b3c0c0c0d","dweb:/ipfs/QmdLfnBQrYnLq1iwjX9UyzpDqe6EyJ21T56ZWUVJr1VQCy"],"license":"MIT"},"node_modules/@latticexyz/world/src/version.sol":{"keccak256":"0x940fa33f2a4986bda788f9418fe4e51ae206a6e4954721443cec11ebf2e700be","urls":["bzz-raw://3aacb56ffa02e40a60b9343aae4fe7c0d9623b74c6ee70b9a42f8428e64e4d4e","dweb:/ipfs/QmNXwHcUzNEvqjaSTdooSV3hhCkGadpT9peQAmhLaQTj2k"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed","urls":["bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d","dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12"],"license":"MIT"},"node_modules/@latticexyz/world/test/createInitModule.sol":{"keccak256":"0x33c10482c6b5ef633dcf13d189c5e2784c46a9546fe77e3ca1817319cf88c383","urls":["bzz-raw://d6b34b376720cde9198eaf0580ae627d0b6cb1288dcc3c1d25f239f91a57ebdc","dweb:/ipfs/QmSYrvgzwd5tmwRta3DAEhokbXAyEX9ZGwpM44S1X2S6Wa"],"license":"MIT"},"node_modules/@latticexyz/world/test/createWorld.sol":{"keccak256":"0x59bb3ecd3c665237a7f2a21220c8526bcf3b12475af458bea0ad7d7403e31196","urls":["bzz-raw://4c7ba0904844102cf553f2986f910ba9c143c7a38aa6ce27280a13e68a058ee4","dweb:/ipfs/QmYFgCZt9CDaoAeqjLy8LbujQntZLB58mbdLECEnV5Uq8f"],"license":"MIT"},"node_modules/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"node_modules/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"node_modules/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"node_modules/forge-std/src/StdChains.sol":{"keccak256":"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6","urls":["bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d","dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx"],"license":"MIT"},"node_modules/forge-std/src/StdCheats.sol":{"keccak256":"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5","urls":["bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a","dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe"],"license":"MIT"},"node_modules/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"node_modules/forge-std/src/StdInvariant.sol":{"keccak256":"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1","urls":["bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c","dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss"],"license":"MIT"},"node_modules/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"node_modules/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"node_modules/forge-std/src/StdStorage.sol":{"keccak256":"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d","urls":["bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26","dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9"],"license":"MIT"},"node_modules/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"node_modules/forge-std/src/StdUtils.sol":{"keccak256":"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1","urls":["bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140","dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi"],"license":"MIT"},"node_modules/forge-std/src/Test.sol":{"keccak256":"0xf3b62c75cea11a0e8ef8e6526e5e5c74ae47a892b9bcefc0e98d76066e1ffd24","urls":["bzz-raw://a41faaf836453e02c71fc272c80b3c90a614b30c9ba636512db0d033c7b93beb","dweb:/ipfs/QmeQAreYYaxztQtFLQdHCzCPEorj9T5foSu2hQmxk7xT5x"],"license":"MIT"},"node_modules/forge-std/src/Vm.sol":{"keccak256":"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5","urls":["bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c","dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"],"license":"MIT"},"node_modules/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"node_modules/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"node_modules/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"src/utils/SystemSwitch.sol":{"keccak256":"0xd2cf96d4ee02a2b10f4866d9d04d0804b1c1dc79a2c266c9e8fea089d81f0cf4","urls":["bzz-raw://2641c6f11504b3fea72586239a55c45f56a98a4537a8d6e6ab2e2b762ef93cbb","dweb:/ipfs/QmPKb6UvnHQa8iek5LMCqNo3DXdHdF1vtcLZRAMxmosFJt"],"license":"MIT"},"test/SystemSwitch.t.sol":{"keccak256":"0xb52619c667fa984a7eb4b20a96e9ccc0821de37d3213083291d1186c13a8ce88","urls":["bzz-raw://ae45513bc0a0283cda6505febf89b46088fe5cee533e17e6b8c482ef33d4409a","dweb:/ipfs/QmaGp3uFjpnkxKweYytSuEPqoDk8o8DoTqzoy6w1mHakvh"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"test/SystemSwitch.t.sol","id":137311,"exportedSymbols":{"EchoSystem":[136257],"GasReporter":[226],"IBaseWorld":[24554],"IStoreErrors":[1471],"RESOURCE_SYSTEM":[38079],"ROOT_NAMESPACE":[35493],"ResourceId":[2782],"ResourceIds":[10997],"ResourceIdsTableId":[10301],"Schema":[2854],"StoreCore":[5995],"System":[22727],"SystemSwitch":[128081],"SystemSwitchTest":[137310],"Test":[60480],"World":[23867],"WorldResourceIdInstance":[24417],"WorldResourceIdLib":[24290],"caller":[136263],"createWorld":[48581]},"nodeType":"SourceUnit","src":"32:10801:204","nodes":[{"id":136153,"nodeType":"PragmaDirective","src":"32:25:204","nodes":[],"literals":["solidity",">=","0.8",".24"]},{"id":136155,"nodeType":"ImportDirective","src":"59:42:204","nodes":[],"absolutePath":"node_modules/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":137311,"sourceUnit":60481,"symbolAliases":[{"foreign":{"id":136154,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60480,"src":"68:4:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136157,"nodeType":"ImportDirective","src":"102:73:204","nodes":[],"absolutePath":"node_modules/@latticexyz/gas-report/src/GasReporter.sol","file":"@latticexyz/gas-report/src/GasReporter.sol","nameLocation":"-1:-1:-1","scope":137311,"sourceUnit":227,"symbolAliases":[{"foreign":{"id":136156,"name":"GasReporter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":226,"src":"111:11:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136159,"nodeType":"ImportDirective","src":"177:70:204","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/IStoreErrors.sol","file":"@latticexyz/store/src/IStoreErrors.sol","nameLocation":"-1:-1:-1","scope":137311,"sourceUnit":1472,"symbolAliases":[{"foreign":{"id":136158,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1471,"src":"186:12:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136162,"nodeType":"ImportDirective","src":"248:103:204","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol","file":"@latticexyz/store/src/codegen/tables/ResourceIds.sol","nameLocation":"-1:-1:-1","scope":137311,"sourceUnit":11008,"symbolAliases":[{"foreign":{"id":136160,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10997,"src":"257:11:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":136161,"name":"ResourceIdsTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10301,"src":"270:18:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136164,"nodeType":"ImportDirective","src":"352:58:204","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/Schema.sol","file":"@latticexyz/store/src/Schema.sol","nameLocation":"-1:-1:-1","scope":137311,"sourceUnit":3333,"symbolAliases":[{"foreign":{"id":136163,"name":"Schema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2854,"src":"361:6:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136166,"nodeType":"ImportDirective","src":"411:64:204","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/StoreCore.sol","file":"@latticexyz/store/src/StoreCore.sol","nameLocation":"-1:-1:-1","scope":137311,"sourceUnit":6527,"symbolAliases":[{"foreign":{"id":136165,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5995,"src":"420:9:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136168,"nodeType":"ImportDirective","src":"477:58:204","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/System.sol","file":"@latticexyz/world/src/System.sol","nameLocation":"-1:-1:-1","scope":137311,"sourceUnit":22728,"symbolAliases":[{"foreign":{"id":136167,"name":"System","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22727,"src":"486:6:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136170,"nodeType":"ImportDirective","src":"536:85:204","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol","file":"@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol","nameLocation":"-1:-1:-1","scope":137311,"sourceUnit":24555,"symbolAliases":[{"foreign":{"id":136169,"name":"IBaseWorld","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24554,"src":"545:10:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136172,"nodeType":"ImportDirective","src":"622:56:204","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/World.sol","file":"@latticexyz/world/src/World.sol","nameLocation":"-1:-1:-1","scope":137311,"sourceUnit":23868,"symbolAliases":[{"foreign":{"id":136171,"name":"World","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23867,"src":"631:5:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136174,"nodeType":"ImportDirective","src":"679:69:204","nodes":[],"absolutePath":"node_modules/@latticexyz/world/test/createWorld.sol","file":"@latticexyz/world/test/createWorld.sol","nameLocation":"-1:-1:-1","scope":137311,"sourceUnit":48582,"symbolAliases":[{"foreign":{"id":136173,"name":"createWorld","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48581,"src":"688:11:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136178,"nodeType":"ImportDirective","src":"749:116:204","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/WorldResourceId.sol","file":"@latticexyz/world/src/WorldResourceId.sol","nameLocation":"-1:-1:-1","scope":137311,"sourceUnit":24418,"symbolAliases":[{"foreign":{"id":136175,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2782,"src":"758:10:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":136176,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24290,"src":"770:18:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":136177,"name":"WorldResourceIdInstance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24417,"src":"790:23:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136180,"nodeType":"ImportDirective","src":"866:79:204","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/worldResourceTypes.sol","file":"@latticexyz/world/src/worldResourceTypes.sol","nameLocation":"-1:-1:-1","scope":137311,"sourceUnit":38086,"symbolAliases":[{"foreign":{"id":136179,"name":"RESOURCE_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38079,"src":"875:15:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136182,"nodeType":"ImportDirective","src":"946:69:204","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/constants.sol","file":"@latticexyz/world/src/constants.sol","nameLocation":"-1:-1:-1","scope":137311,"sourceUnit":35566,"symbolAliases":[{"foreign":{"id":136181,"name":"ROOT_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35493,"src":"955:14:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136184,"nodeType":"ImportDirective","src":"1016:61:204","nodes":[],"absolutePath":"src/utils/SystemSwitch.sol","file":"../src/utils/SystemSwitch.sol","nameLocation":"-1:-1:-1","scope":137311,"sourceUnit":128082,"symbolAliases":[{"foreign":{"id":136183,"name":"SystemSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128081,"src":"1025:12:204","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":136257,"nodeType":"ContractDefinition","src":"1079:684:204","nodes":[{"id":136195,"nodeType":"FunctionDefinition","src":"1113:81:204","nodes":[],"body":{"id":136194,"nodeType":"Block","src":"1164:30:204","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":136191,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23896,"src":"1177:10:204","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":136192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1177:12:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":136190,"id":136193,"nodeType":"Return","src":"1170:19:204"}]},"functionSelector":"d737d0c7","implemented":true,"kind":"function","modifiers":[],"name":"msgSender","nameLocation":"1122:9:204","parameters":{"id":136187,"nodeType":"ParameterList","parameters":[],"src":"1131:2:204"},"returnParameters":{"id":136190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136189,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136195,"src":"1155:7:204","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":136188,"name":"address","nodeType":"ElementaryTypeName","src":"1155:7:204","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1154:9:204"},"scope":136257,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":136204,"nodeType":"FunctionDefinition","src":"1198:73:204","nodes":[],"body":{"id":136203,"nodeType":"Block","src":"1245:26:204","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":136200,"name":"_world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23918,"src":"1258:6:204","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":136201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1258:8:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":136199,"id":136202,"nodeType":"Return","src":"1251:15:204"}]},"functionSelector":"30b67baa","implemented":true,"kind":"function","modifiers":[],"name":"world","nameLocation":"1207:5:204","parameters":{"id":136196,"nodeType":"ParameterList","parameters":[],"src":"1212:2:204"},"returnParameters":{"id":136199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136198,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136204,"src":"1236:7:204","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":136197,"name":"address","nodeType":"ElementaryTypeName","src":"1236:7:204","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1235:9:204"},"scope":136257,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":136216,"nodeType":"FunctionDefinition","src":"1275:110:204","nodes":[],"body":{"id":136215,"nodeType":"Block","src":"1325:60:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136212,"name":"ResourceIdsTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10301,"src":"1361:18:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}],"expression":{"id":136210,"name":"StoreCore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5995,"src":"1338:9:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCore_$5995_$","typeString":"type(library StoreCore)"}},"id":136211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1348:12:204","memberName":"getKeySchema","nodeType":"MemberAccess","referencedDeclaration":4263,"src":"1338:22:204","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$2782_$returns$_t_userDefinedValueType$_Schema_$2854_$","typeString":"function (ResourceId) view returns (Schema)"}},"id":136213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1338:42:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$2854","typeString":"Schema"}},"functionReturnParameters":136209,"id":136214,"nodeType":"Return","src":"1331:49:204"}]},"functionSelector":"2f0515f8","implemented":true,"kind":"function","modifiers":[],"name":"readTable","nameLocation":"1284:9:204","parameters":{"id":136205,"nodeType":"ParameterList","parameters":[],"src":"1293:2:204"},"returnParameters":{"id":136209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136208,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136216,"src":"1317:6:204","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$2854","typeString":"Schema"},"typeName":{"id":136207,"nodeType":"UserDefinedTypeName","pathNode":{"id":136206,"name":"Schema","nameLocations":["1317:6:204"],"nodeType":"IdentifierPath","referencedDeclaration":2854,"src":"1317:6:204"},"referencedDeclaration":2854,"src":"1317:6:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$2854","typeString":"Schema"}},"visibility":"internal"}],"src":"1316:8:204"},"scope":136257,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":136226,"nodeType":"FunctionDefinition","src":"1389:98:204","nodes":[],"body":{"id":136225,"nodeType":"Block","src":"1462:25:204","nodes":[],"statements":[{"expression":{"id":136223,"name":"message","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136218,"src":"1475:7:204","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":136222,"id":136224,"nodeType":"Return","src":"1468:14:204"}]},"functionSelector":"f15da729","implemented":true,"kind":"function","modifiers":[],"name":"echo","nameLocation":"1398:4:204","parameters":{"id":136219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136218,"mutability":"mutable","name":"message","nameLocation":"1417:7:204","nodeType":"VariableDeclaration","scope":136226,"src":"1403:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":136217,"name":"string","nodeType":"ElementaryTypeName","src":"1403:6:204","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1402:23:204"},"returnParameters":{"id":136222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136221,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136226,"src":"1447:13:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":136220,"name":"string","nodeType":"ElementaryTypeName","src":"1447:6:204","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1446:15:204"},"scope":136257,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":136243,"nodeType":"FunctionDefinition","src":"1491:143:204","nodes":[],"body":{"id":136242,"nodeType":"Block","src":"1579:55:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136238,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136229,"src":"1610:8:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":136239,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136231,"src":"1620:8:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":136236,"name":"SystemSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128081,"src":"1592:12:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SystemSwitch_$128081_$","typeString":"type(library SystemSwitch)"}},"id":136237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1605:4:204","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":128034,"src":"1592:17:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1592:37:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":136235,"id":136241,"nodeType":"Return","src":"1585:44:204"}]},"functionSelector":"3ae7af08","implemented":true,"kind":"function","modifiers":[],"name":"call","nameLocation":"1500:4:204","parameters":{"id":136232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136229,"mutability":"mutable","name":"systemId","nameLocation":"1516:8:204","nodeType":"VariableDeclaration","scope":136243,"src":"1505:19:204","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":136228,"nodeType":"UserDefinedTypeName","pathNode":{"id":136227,"name":"ResourceId","nameLocations":["1505:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"1505:10:204"},"referencedDeclaration":2782,"src":"1505:10:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":136231,"mutability":"mutable","name":"callData","nameLocation":"1539:8:204","nodeType":"VariableDeclaration","scope":136243,"src":"1526:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136230,"name":"bytes","nodeType":"ElementaryTypeName","src":"1526:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1504:44:204"},"returnParameters":{"id":136235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136234,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136243,"src":"1565:12:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136233,"name":"bytes","nodeType":"ElementaryTypeName","src":"1565:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1564:14:204"},"scope":136257,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136256,"nodeType":"FunctionDefinition","src":"1638:123:204","nodes":[],"body":{"id":136255,"nodeType":"Block","src":"1716:45:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136252,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136245,"src":"1747:8:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":136250,"name":"SystemSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128081,"src":"1729:12:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SystemSwitch_$128081_$","typeString":"type(library SystemSwitch)"}},"id":136251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1742:4:204","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":128080,"src":"1729:17:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bytes memory)"}},"id":136253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1729:27:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":136249,"id":136254,"nodeType":"Return","src":"1722:34:204"}]},"functionSelector":"96f09da6","implemented":true,"kind":"function","modifiers":[],"name":"callViaSelector","nameLocation":"1647:15:204","parameters":{"id":136246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136245,"mutability":"mutable","name":"callData","nameLocation":"1676:8:204","nodeType":"VariableDeclaration","scope":136256,"src":"1663:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136244,"name":"bytes","nodeType":"ElementaryTypeName","src":"1663:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1662:23:204"},"returnParameters":{"id":136249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136248,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136256,"src":"1702:12:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136247,"name":"bytes","nodeType":"ElementaryTypeName","src":"1702:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1701:14:204"},"scope":136257,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":136185,"name":"System","nameLocations":["1102:6:204"],"nodeType":"IdentifierPath","referencedDeclaration":22727,"src":"1102:6:204"},"id":136186,"nodeType":"InheritanceSpecifier","src":"1102:6:204"}],"canonicalName":"EchoSystem","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[136257,22727,23942,22448,22359],"name":"EchoSystem","nameLocation":"1088:10:204","scope":137311,"usedErrors":[1405,3357,22472,22479,22507],"usedEvents":[4027]},{"id":136263,"nodeType":"VariableDeclaration","src":"1765:39:204","nodes":[],"constant":true,"mutability":"constant","name":"caller","nameLocation":"1782:6:204","scope":137311,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":136258,"name":"address","nodeType":"ElementaryTypeName","src":"1765:7:204","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"34323332","id":136261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1799:4:204","typeDescriptions":{"typeIdentifier":"t_rational_4232_by_1","typeString":"int_const 4232"},"value":"4232"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4232_by_1","typeString":"int_const 4232"}],"id":136260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1791:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136259,"name":"address","nodeType":"ElementaryTypeName","src":"1791:7:204","typeDescriptions":{}}},"id":136262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1791:13:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":137310,"nodeType":"ContractDefinition","src":"1807:9025:204","nodes":[{"id":136271,"nodeType":"UsingForDirective","src":"1858:45:204","nodes":[],"global":false,"libraryName":{"id":136268,"name":"WorldResourceIdInstance","nameLocations":["1864:23:204"],"nodeType":"IdentifierPath","referencedDeclaration":24417,"src":"1864:23:204"},"typeName":{"id":136270,"nodeType":"UserDefinedTypeName","pathNode":{"id":136269,"name":"ResourceId","nameLocations":["1892:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"1892:10:204"},"referencedDeclaration":2782,"src":"1892:10:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}}},{"id":136274,"nodeType":"VariableDeclaration","src":"1907:16:204","nodes":[],"constant":false,"mutability":"mutable","name":"world","nameLocation":"1918:5:204","scope":137310,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"},"typeName":{"id":136273,"nodeType":"UserDefinedTypeName","pathNode":{"id":136272,"name":"IBaseWorld","nameLocations":["1907:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":24554,"src":"1907:10:204"},"referencedDeclaration":24554,"src":"1907:10:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"visibility":"internal"},{"id":136277,"nodeType":"VariableDeclaration","src":"1928:18:204","nodes":[],"constant":false,"mutability":"mutable","name":"systemA","nameLocation":"1939:7:204","scope":137310,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"},"typeName":{"id":136276,"nodeType":"UserDefinedTypeName","pathNode":{"id":136275,"name":"EchoSystem","nameLocations":["1928:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":136257,"src":"1928:10:204"},"referencedDeclaration":136257,"src":"1928:10:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}},"visibility":"internal"},{"id":136280,"nodeType":"VariableDeclaration","src":"1950:18:204","nodes":[],"constant":false,"mutability":"mutable","name":"systemB","nameLocation":"1961:7:204","scope":137310,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"},"typeName":{"id":136279,"nodeType":"UserDefinedTypeName","pathNode":{"id":136278,"name":"EchoSystem","nameLocations":["1950:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":136257,"src":"1950:10:204"},"referencedDeclaration":136257,"src":"1950:10:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}},"visibility":"internal"},{"id":136283,"nodeType":"VariableDeclaration","src":"1972:22:204","nodes":[],"constant":false,"mutability":"mutable","name":"rootSystemA","nameLocation":"1983:11:204","scope":137310,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"},"typeName":{"id":136282,"nodeType":"UserDefinedTypeName","pathNode":{"id":136281,"name":"EchoSystem","nameLocations":["1972:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":136257,"src":"1972:10:204"},"referencedDeclaration":136257,"src":"1972:10:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}},"visibility":"internal"},{"id":136286,"nodeType":"VariableDeclaration","src":"1998:22:204","nodes":[],"constant":false,"mutability":"mutable","name":"rootSystemB","nameLocation":"2009:11:204","scope":137310,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"},"typeName":{"id":136285,"nodeType":"UserDefinedTypeName","pathNode":{"id":136284,"name":"EchoSystem","nameLocations":["1998:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":136257,"src":"1998:10:204"},"referencedDeclaration":136257,"src":"1998:10:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}},"visibility":"internal"},{"id":136289,"nodeType":"VariableDeclaration","src":"2025:20:204","nodes":[],"constant":false,"mutability":"mutable","name":"systemAId","nameLocation":"2036:9:204","scope":137310,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":136288,"nodeType":"UserDefinedTypeName","pathNode":{"id":136287,"name":"ResourceId","nameLocations":["2025:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"2025:10:204"},"referencedDeclaration":2782,"src":"2025:10:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"id":136292,"nodeType":"VariableDeclaration","src":"2049:20:204","nodes":[],"constant":false,"mutability":"mutable","name":"systemBId","nameLocation":"2060:9:204","scope":137310,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":136291,"nodeType":"UserDefinedTypeName","pathNode":{"id":136290,"name":"ResourceId","nameLocations":["2049:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"2049:10:204"},"referencedDeclaration":2782,"src":"2049:10:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"id":136295,"nodeType":"VariableDeclaration","src":"2073:24:204","nodes":[],"constant":false,"mutability":"mutable","name":"rootSystemAId","nameLocation":"2084:13:204","scope":137310,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":136294,"nodeType":"UserDefinedTypeName","pathNode":{"id":136293,"name":"ResourceId","nameLocations":["2073:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"2073:10:204"},"referencedDeclaration":2782,"src":"2073:10:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"id":136298,"nodeType":"VariableDeclaration","src":"2101:24:204","nodes":[],"constant":false,"mutability":"mutable","name":"rootSystemBId","nameLocation":"2112:13:204","scope":137310,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":136297,"nodeType":"UserDefinedTypeName","pathNode":{"id":136296,"name":"ResourceId","nameLocations":["2101:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"2101:10:204"},"referencedDeclaration":2782,"src":"2101:10:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"id":136419,"nodeType":"FunctionDefinition","src":"2130:1120:204","nodes":[],"body":{"id":136418,"nodeType":"Block","src":"2154:1096:204","nodes":[],"statements":[{"expression":{"id":136304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":136301,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"2180:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":136302,"name":"createWorld","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48581,"src":"2188:11:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_IBaseWorld_$24554_$","typeString":"function () returns (contract IBaseWorld)"}},"id":136303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2188:13:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"src":"2180:21:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136305,"nodeType":"ExpressionStatement","src":"2180:21:204"},{"expression":{"id":136311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":136306,"name":"systemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136277,"src":"2230:7:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":136309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2240:14:204","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_EchoSystem_$136257_$","typeString":"function () returns (contract EchoSystem)"},"typeName":{"id":136308,"nodeType":"UserDefinedTypeName","pathNode":{"id":136307,"name":"EchoSystem","nameLocations":["2244:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":136257,"src":"2244:10:204"},"referencedDeclaration":136257,"src":"2244:10:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}}},"id":136310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2240:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}},"src":"2230:26:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}},"id":136312,"nodeType":"ExpressionStatement","src":"2230:26:204"},{"expression":{"id":136318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":136313,"name":"systemB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136280,"src":"2262:7:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":136316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2272:14:204","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_EchoSystem_$136257_$","typeString":"function () returns (contract EchoSystem)"},"typeName":{"id":136315,"nodeType":"UserDefinedTypeName","pathNode":{"id":136314,"name":"EchoSystem","nameLocations":["2276:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":136257,"src":"2276:10:204"},"referencedDeclaration":136257,"src":"2276:10:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}}},"id":136317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2272:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}},"src":"2262:26:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}},"id":136319,"nodeType":"ExpressionStatement","src":"2262:26:204"},{"expression":{"id":136325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":136320,"name":"rootSystemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136283,"src":"2294:11:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":136323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2308:14:204","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_EchoSystem_$136257_$","typeString":"function () returns (contract EchoSystem)"},"typeName":{"id":136322,"nodeType":"UserDefinedTypeName","pathNode":{"id":136321,"name":"EchoSystem","nameLocations":["2312:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":136257,"src":"2312:10:204"},"referencedDeclaration":136257,"src":"2312:10:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}}},"id":136324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2308:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}},"src":"2294:30:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}},"id":136326,"nodeType":"ExpressionStatement","src":"2294:30:204"},{"expression":{"id":136332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":136327,"name":"rootSystemB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136286,"src":"2330:11:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":136330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2344:14:204","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_EchoSystem_$136257_$","typeString":"function () returns (contract EchoSystem)"},"typeName":{"id":136329,"nodeType":"UserDefinedTypeName","pathNode":{"id":136328,"name":"EchoSystem","nameLocations":["2348:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":136257,"src":"2348:10:204"},"referencedDeclaration":136257,"src":"2348:10:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}}},"id":136331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2344:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}},"src":"2330:30:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}},"id":136333,"nodeType":"ExpressionStatement","src":"2330:30:204"},{"expression":{"id":136341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":136334,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136289,"src":"2392:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":136337,"name":"RESOURCE_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38079,"src":"2440:15:204","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"hexValue":"6e616d65737061636541","id":136338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2468:12:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5249ea074de3b5c1907767d7daf078e87d4b0a31b187546ff27e540c44dd67f","typeString":"literal_string \"namespaceA\""},"value":"namespaceA"},{"hexValue":"73797374656d41","id":136339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2488:9:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_47c9562a232d8ed813eff016ef7af580f4ac4d26e2d3dbec81d3bf494297695e","typeString":"literal_string \"systemA\""},"value":"systemA"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_stringliteral_e5249ea074de3b5c1907767d7daf078e87d4b0a31b187546ff27e540c44dd67f","typeString":"literal_string \"namespaceA\""},{"typeIdentifier":"t_stringliteral_47c9562a232d8ed813eff016ef7af580f4ac4d26e2d3dbec81d3bf494297695e","typeString":"literal_string \"systemA\""}],"expression":{"id":136335,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24290,"src":"2404:18:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldResourceIdLib_$24290_$","typeString":"type(library WorldResourceIdLib)"}},"id":136336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2423:6:204","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":24218,"src":"2404:25:204","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes2_$_t_bytes14_$_t_bytes16_$returns$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (bytes2,bytes14,bytes16) pure returns (ResourceId)"}},"id":136340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["2432:6:204","2457:9:204","2482:4:204"],"names":["typeId","namespace","name"],"nodeType":"FunctionCall","src":"2404:96:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"src":"2392:108:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":136342,"nodeType":"ExpressionStatement","src":"2392:108:204"},{"expression":{"id":136350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":136343,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136292,"src":"2506:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":136346,"name":"RESOURCE_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38079,"src":"2554:15:204","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"hexValue":"6e616d65737061636542","id":136347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2582:12:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_9966cb362f88b0d958879f3f2d1e887cd1b93cd84663a71d6f07414bb1f92582","typeString":"literal_string \"namespaceB\""},"value":"namespaceB"},{"hexValue":"73797374656d42","id":136348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2602:9:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b22053f4496c362f888b764f547d8ea33d632edb4e459a3de001e0e5add5a7c","typeString":"literal_string \"systemB\""},"value":"systemB"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_stringliteral_9966cb362f88b0d958879f3f2d1e887cd1b93cd84663a71d6f07414bb1f92582","typeString":"literal_string \"namespaceB\""},{"typeIdentifier":"t_stringliteral_4b22053f4496c362f888b764f547d8ea33d632edb4e459a3de001e0e5add5a7c","typeString":"literal_string \"systemB\""}],"expression":{"id":136344,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24290,"src":"2518:18:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldResourceIdLib_$24290_$","typeString":"type(library WorldResourceIdLib)"}},"id":136345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2537:6:204","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":24218,"src":"2518:25:204","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes2_$_t_bytes14_$_t_bytes16_$returns$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (bytes2,bytes14,bytes16) pure returns (ResourceId)"}},"id":136349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["2546:6:204","2571:9:204","2596:4:204"],"names":["typeId","namespace","name"],"nodeType":"FunctionCall","src":"2518:96:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"src":"2506:108:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":136351,"nodeType":"ExpressionStatement","src":"2506:108:204"},{"expression":{"id":136359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":136352,"name":"rootSystemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136295,"src":"2620:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":136355,"name":"RESOURCE_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38079,"src":"2672:15:204","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"id":136356,"name":"ROOT_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35493,"src":"2700:14:204","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},{"hexValue":"73797374656d41","id":136357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2722:9:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_47c9562a232d8ed813eff016ef7af580f4ac4d26e2d3dbec81d3bf494297695e","typeString":"literal_string \"systemA\""},"value":"systemA"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_bytes14","typeString":"bytes14"},{"typeIdentifier":"t_stringliteral_47c9562a232d8ed813eff016ef7af580f4ac4d26e2d3dbec81d3bf494297695e","typeString":"literal_string \"systemA\""}],"expression":{"id":136353,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24290,"src":"2636:18:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldResourceIdLib_$24290_$","typeString":"type(library WorldResourceIdLib)"}},"id":136354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2655:6:204","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":24218,"src":"2636:25:204","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes2_$_t_bytes14_$_t_bytes16_$returns$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (bytes2,bytes14,bytes16) pure returns (ResourceId)"}},"id":136358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["2664:6:204","2689:9:204","2716:4:204"],"names":["typeId","namespace","name"],"nodeType":"FunctionCall","src":"2636:98:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"src":"2620:114:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":136360,"nodeType":"ExpressionStatement","src":"2620:114:204"},{"expression":{"id":136368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":136361,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136298,"src":"2740:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":136364,"name":"RESOURCE_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38079,"src":"2792:15:204","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"id":136365,"name":"ROOT_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35493,"src":"2820:14:204","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},{"hexValue":"73797374656d42","id":136366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2842:9:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b22053f4496c362f888b764f547d8ea33d632edb4e459a3de001e0e5add5a7c","typeString":"literal_string \"systemB\""},"value":"systemB"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_bytes14","typeString":"bytes14"},{"typeIdentifier":"t_stringliteral_4b22053f4496c362f888b764f547d8ea33d632edb4e459a3de001e0e5add5a7c","typeString":"literal_string \"systemB\""}],"expression":{"id":136362,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24290,"src":"2756:18:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldResourceIdLib_$24290_$","typeString":"type(library WorldResourceIdLib)"}},"id":136363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2775:6:204","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":24218,"src":"2756:25:204","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes2_$_t_bytes14_$_t_bytes16_$returns$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (bytes2,bytes14,bytes16) pure returns (ResourceId)"}},"id":136367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["2784:6:204","2809:9:204","2836:4:204"],"names":["typeId","namespace","name"],"nodeType":"FunctionCall","src":"2756:98:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"src":"2740:114:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":136369,"nodeType":"ExpressionStatement","src":"2740:114:204"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":136373,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136289,"src":"2912:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":136374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2922:14:204","memberName":"getNamespaceId","nodeType":"MemberAccess","referencedDeclaration":24336,"src":"2912:24:204","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$2782_$returns$_t_userDefinedValueType$_ResourceId_$2782_$attached_to$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (ResourceId) pure returns (ResourceId)"}},"id":136375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2912:26:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}],"expression":{"id":136370,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"2888:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2894:17:204","memberName":"registerNamespace","nodeType":"MemberAccess","referencedDeclaration":24614,"src":"2888:23:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$returns$__$","typeString":"function (ResourceId) external"}},"id":136376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2888:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136377,"nodeType":"ExpressionStatement","src":"2888:51:204"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":136381,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136292,"src":"2969:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":136382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2979:14:204","memberName":"getNamespaceId","nodeType":"MemberAccess","referencedDeclaration":24336,"src":"2969:24:204","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$2782_$returns$_t_userDefinedValueType$_ResourceId_$2782_$attached_to$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (ResourceId) pure returns (ResourceId)"}},"id":136383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2969:26:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}],"expression":{"id":136378,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"2945:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2951:17:204","memberName":"registerNamespace","nodeType":"MemberAccess","referencedDeclaration":24614,"src":"2945:23:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$returns$__$","typeString":"function (ResourceId) external"}},"id":136384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2945:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136385,"nodeType":"ExpressionStatement","src":"2945:51:204"},{"expression":{"arguments":[{"id":136389,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136289,"src":"3048:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":136390,"name":"systemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136277,"src":"3059:7:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}},{"hexValue":"74727565","id":136391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3068:4:204","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":136386,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"3027:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3033:14:204","memberName":"registerSystem","nodeType":"MemberAccess","referencedDeclaration":24645,"src":"3027:20:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_contract$_System_$22727_$_t_bool_$returns$__$","typeString":"function (ResourceId,contract System,bool) external"}},"id":136392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3027:46:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136393,"nodeType":"ExpressionStatement","src":"3027:46:204"},{"expression":{"arguments":[{"id":136397,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136292,"src":"3100:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":136398,"name":"systemB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136280,"src":"3111:7:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}},{"hexValue":"74727565","id":136399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3120:4:204","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":136394,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"3079:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3085:14:204","memberName":"registerSystem","nodeType":"MemberAccess","referencedDeclaration":24645,"src":"3079:20:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_contract$_System_$22727_$_t_bool_$returns$__$","typeString":"function (ResourceId,contract System,bool) external"}},"id":136400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3079:46:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136401,"nodeType":"ExpressionStatement","src":"3079:46:204"},{"expression":{"arguments":[{"id":136405,"name":"rootSystemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136295,"src":"3152:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":136406,"name":"rootSystemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136283,"src":"3167:11:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}},{"hexValue":"74727565","id":136407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3180:4:204","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":136402,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"3131:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3137:14:204","memberName":"registerSystem","nodeType":"MemberAccess","referencedDeclaration":24645,"src":"3131:20:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_contract$_System_$22727_$_t_bool_$returns$__$","typeString":"function (ResourceId,contract System,bool) external"}},"id":136408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3131:54:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136409,"nodeType":"ExpressionStatement","src":"3131:54:204"},{"expression":{"arguments":[{"id":136413,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136298,"src":"3212:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":136414,"name":"rootSystemB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136286,"src":"3227:11:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}},{"hexValue":"74727565","id":136415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3240:4:204","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":136410,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"3191:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3197:14:204","memberName":"registerSystem","nodeType":"MemberAccess","referencedDeclaration":24645,"src":"3191:20:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_contract$_System_$22727_$_t_bool_$returns$__$","typeString":"function (ResourceId,contract System,bool) external"}},"id":136416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3191:54:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136417,"nodeType":"ExpressionStatement","src":"3191:54:204"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"2139:5:204","parameters":{"id":136299,"nodeType":"ParameterList","parameters":[],"src":"2144:2:204"},"returnParameters":{"id":136300,"nodeType":"ParameterList","parameters":[],"src":"2154:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136449,"nodeType":"FunctionDefinition","src":"3254:226:204","nodes":[],"body":{"id":136448,"nodeType":"Block","src":"3361:119:204","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":136433,"name":"rootSystemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136295,"src":"3396:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136436,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"3426:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":136437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3437:4:204","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":136243,"src":"3426:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.call(ResourceId,bytes memory) returns (bytes memory)"}},{"components":[{"id":136438,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136422,"src":"3444:8:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":136439,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136424,"src":"3454:8:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":136440,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3443:20:204","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$","typeString":"tuple(ResourceId,bytes memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.call(ResourceId,bytes memory) returns (bytes memory)"},{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$","typeString":"tuple(ResourceId,bytes memory)"}],"expression":{"id":136434,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3411:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3415:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"3411:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3411:53:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":136431,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"3385:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3391:4:204","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":22578,"src":"3385:10:204","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) payable external returns (bytes memory)"}},"id":136442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3385:80:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3468:5:204","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":136443,"name":"bytes","nodeType":"ElementaryTypeName","src":"3468:5:204","typeDescriptions":{}}}],"id":136445,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3467:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}],"expression":{"id":136429,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3374:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136430,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3378:6:204","memberName":"decode","nodeType":"MemberAccess","src":"3374:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3374:101:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":136428,"id":136447,"nodeType":"Return","src":"3367:108:204"}]},"functionSelector":"101f99a3","implemented":true,"kind":"function","modifiers":[],"name":"_executeFromRootSystemA","nameLocation":"3263:23:204","parameters":{"id":136425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136422,"mutability":"mutable","name":"systemId","nameLocation":"3298:8:204","nodeType":"VariableDeclaration","scope":136449,"src":"3287:19:204","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":136421,"nodeType":"UserDefinedTypeName","pathNode":{"id":136420,"name":"ResourceId","nameLocations":["3287:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"3287:10:204"},"referencedDeclaration":2782,"src":"3287:10:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":136424,"mutability":"mutable","name":"callData","nameLocation":"3321:8:204","nodeType":"VariableDeclaration","scope":136449,"src":"3308:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136423,"name":"bytes","nodeType":"ElementaryTypeName","src":"3308:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3286:44:204"},"returnParameters":{"id":136428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136427,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136449,"src":"3347:12:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136426,"name":"bytes","nodeType":"ElementaryTypeName","src":"3347:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3346:14:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136479,"nodeType":"FunctionDefinition","src":"3484:218:204","nodes":[],"body":{"id":136478,"nodeType":"Block","src":"3587:115:204","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":136463,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136289,"src":"3622:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136466,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"3648:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":136467,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3659:4:204","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":136243,"src":"3648:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.call(ResourceId,bytes memory) returns (bytes memory)"}},{"components":[{"id":136468,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136452,"src":"3666:8:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":136469,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136454,"src":"3676:8:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":136470,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3665:20:204","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$","typeString":"tuple(ResourceId,bytes memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.call(ResourceId,bytes memory) returns (bytes memory)"},{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$","typeString":"tuple(ResourceId,bytes memory)"}],"expression":{"id":136464,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3633:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136465,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3637:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"3633:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3633:53:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":136461,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"3611:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3617:4:204","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":22578,"src":"3611:10:204","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) payable external returns (bytes memory)"}},"id":136472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3611:76:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136474,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3690:5:204","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":136473,"name":"bytes","nodeType":"ElementaryTypeName","src":"3690:5:204","typeDescriptions":{}}}],"id":136475,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3689:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}],"expression":{"id":136459,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3600:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136460,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3604:6:204","memberName":"decode","nodeType":"MemberAccess","src":"3600:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3600:97:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":136458,"id":136477,"nodeType":"Return","src":"3593:104:204"}]},"functionSelector":"3fa01b98","implemented":true,"kind":"function","modifiers":[],"name":"_executeFromSystemA","nameLocation":"3493:19:204","parameters":{"id":136455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136452,"mutability":"mutable","name":"systemId","nameLocation":"3524:8:204","nodeType":"VariableDeclaration","scope":136479,"src":"3513:19:204","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":136451,"nodeType":"UserDefinedTypeName","pathNode":{"id":136450,"name":"ResourceId","nameLocations":["3513:10:204"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"3513:10:204"},"referencedDeclaration":2782,"src":"3513:10:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":136454,"mutability":"mutable","name":"callData","nameLocation":"3547:8:204","nodeType":"VariableDeclaration","scope":136479,"src":"3534:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136453,"name":"bytes","nodeType":"ElementaryTypeName","src":"3534:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3512:44:204"},"returnParameters":{"id":136458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136457,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136479,"src":"3573:12:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136456,"name":"bytes","nodeType":"ElementaryTypeName","src":"3573:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3572:14:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136505,"nodeType":"FunctionDefinition","src":"3706:206:204","nodes":[],"body":{"id":136504,"nodeType":"Block","src":"3792:120:204","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":136490,"name":"rootSystemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136295,"src":"3827:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136493,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"3857:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":136494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3868:15:204","memberName":"callViaSelector","nodeType":"MemberAccess","referencedDeclaration":136256,"src":"3857:26:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.callViaSelector(bytes memory) returns (bytes memory)"}},{"components":[{"id":136495,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136481,"src":"3886:8:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":136496,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3885:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.callViaSelector(bytes memory) returns (bytes memory)"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":136491,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3842:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136492,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3846:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"3842:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3842:54:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":136488,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"3816:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3822:4:204","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":22578,"src":"3816:10:204","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) payable external returns (bytes memory)"}},"id":136498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3816:81:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136500,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3900:5:204","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":136499,"name":"bytes","nodeType":"ElementaryTypeName","src":"3900:5:204","typeDescriptions":{}}}],"id":136501,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3899:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}],"expression":{"id":136486,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3805:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3809:6:204","memberName":"decode","nodeType":"MemberAccess","src":"3805:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3805:102:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":136485,"id":136503,"nodeType":"Return","src":"3798:109:204"}]},"functionSelector":"199e1d17","implemented":true,"kind":"function","modifiers":[],"name":"_executeFromRootSystemA","nameLocation":"3715:23:204","parameters":{"id":136482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136481,"mutability":"mutable","name":"callData","nameLocation":"3752:8:204","nodeType":"VariableDeclaration","scope":136505,"src":"3739:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136480,"name":"bytes","nodeType":"ElementaryTypeName","src":"3739:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3738:23:204"},"returnParameters":{"id":136485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136484,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136505,"src":"3778:12:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136483,"name":"bytes","nodeType":"ElementaryTypeName","src":"3778:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3777:14:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136531,"nodeType":"FunctionDefinition","src":"3916:198:204","nodes":[],"body":{"id":136530,"nodeType":"Block","src":"3998:116:204","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":136516,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136289,"src":"4033:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136519,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"4059:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":136520,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4070:15:204","memberName":"callViaSelector","nodeType":"MemberAccess","referencedDeclaration":136256,"src":"4059:26:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.callViaSelector(bytes memory) returns (bytes memory)"}},{"components":[{"id":136521,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136507,"src":"4088:8:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":136522,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4087:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.callViaSelector(bytes memory) returns (bytes memory)"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":136517,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4044:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4048:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"4044:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4044:54:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":136514,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"4022:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4028:4:204","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":22578,"src":"4022:10:204","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) payable external returns (bytes memory)"}},"id":136524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4022:77:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4102:5:204","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":136525,"name":"bytes","nodeType":"ElementaryTypeName","src":"4102:5:204","typeDescriptions":{}}}],"id":136527,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4101:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}],"expression":{"id":136512,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4011:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136513,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4015:6:204","memberName":"decode","nodeType":"MemberAccess","src":"4011:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4011:98:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":136511,"id":136529,"nodeType":"Return","src":"4004:105:204"}]},"functionSelector":"075d7777","implemented":true,"kind":"function","modifiers":[],"name":"_executeFromSystemA","nameLocation":"3925:19:204","parameters":{"id":136508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136507,"mutability":"mutable","name":"callData","nameLocation":"3958:8:204","nodeType":"VariableDeclaration","scope":136531,"src":"3945:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136506,"name":"bytes","nodeType":"ElementaryTypeName","src":"3945:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3944:23:204"},"returnParameters":{"id":136511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136510,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136531,"src":"3984:12:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136509,"name":"bytes","nodeType":"ElementaryTypeName","src":"3984:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3983:14:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136564,"nodeType":"FunctionDefinition","src":"4221:244:204","nodes":[],"body":{"id":136563,"nodeType":"Block","src":"4269:196:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136537,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"4284:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136534,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"4275:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4278:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"4275:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4275:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136539,"nodeType":"ExpressionStatement","src":"4275:16:204"},{"assignments":[136541],"declarations":[{"constant":false,"id":136541,"mutability":"mutable","name":"returnData","nameLocation":"4310:10:204","nodeType":"VariableDeclaration","scope":136563,"src":"4297:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136540,"name":"bytes","nodeType":"ElementaryTypeName","src":"4297:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136551,"initialValue":{"arguments":[{"id":136543,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136298,"src":"4347:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136546,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"4377:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":136547,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4388:9:204","memberName":"msgSender","nodeType":"MemberAccess","referencedDeclaration":136195,"src":"4377:20:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"}},{"components":[],"id":136548,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4399:2:204","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":136544,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4362:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136545,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4366:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"4362:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4362:40:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136542,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[136449,136505],"referencedDeclaration":136449,"src":"4323:23:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4323:80:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4297:106:204"},{"expression":{"arguments":[{"arguments":[{"id":136555,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136541,"src":"4429:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4442:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136556,"name":"address","nodeType":"ElementaryTypeName","src":"4442:7:204","typeDescriptions":{}}}],"id":136558,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4441:9:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":136553,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4418:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136554,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4422:6:204","memberName":"decode","nodeType":"MemberAccess","src":"4418:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4418:33:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":136560,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"4453:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":136552,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":48902,"src":"4409:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":136561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4409:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136562,"nodeType":"ExpressionStatement","src":"4409:51:204"}]},"functionSelector":"ed3a1856","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromRootMsgSender","nameLocation":"4230:29:204","parameters":{"id":136532,"nodeType":"ParameterList","parameters":[],"src":"4259:2:204"},"returnParameters":{"id":136533,"nodeType":"ParameterList","parameters":[],"src":"4269:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136600,"nodeType":"FunctionDefinition","src":"4469:244:204","nodes":[],"body":{"id":136599,"nodeType":"Block","src":"4513:200:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136570,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"4528:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136567,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"4519:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4522:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"4519:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4519:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136572,"nodeType":"ExpressionStatement","src":"4519:16:204"},{"assignments":[136574],"declarations":[{"constant":false,"id":136574,"mutability":"mutable","name":"returnData","nameLocation":"4554:10:204","nodeType":"VariableDeclaration","scope":136599,"src":"4541:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136573,"name":"bytes","nodeType":"ElementaryTypeName","src":"4541:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136584,"initialValue":{"arguments":[{"id":136576,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136298,"src":"4591:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136579,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"4621:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":136580,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4632:5:204","memberName":"world","nodeType":"MemberAccess","referencedDeclaration":136204,"src":"4621:16:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"}},{"components":[],"id":136581,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4639:2:204","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":136577,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4606:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136578,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4610:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"4606:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136582,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4606:36:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136575,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[136449,136505],"referencedDeclaration":136449,"src":"4567:23:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4567:76:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4541:102:204"},{"expression":{"arguments":[{"arguments":[{"id":136588,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136574,"src":"4669:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136590,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4682:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136589,"name":"address","nodeType":"ElementaryTypeName","src":"4682:7:204","typeDescriptions":{}}}],"id":136591,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4681:9:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":136586,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4658:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136587,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4662:6:204","memberName":"decode","nodeType":"MemberAccess","src":"4658:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4658:33:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":136595,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"4701:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}],"id":136594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4693:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136593,"name":"address","nodeType":"ElementaryTypeName","src":"4693:7:204","typeDescriptions":{}}},"id":136596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4693:14:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":136585,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":48902,"src":"4649:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":136597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4649:59:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136598,"nodeType":"ExpressionStatement","src":"4649:59:204"}]},"functionSelector":"3911733c","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromRootWorld","nameLocation":"4478:25:204","parameters":{"id":136565,"nodeType":"ParameterList","parameters":[],"src":"4503:2:204"},"returnParameters":{"id":136566,"nodeType":"ParameterList","parameters":[],"src":"4513:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136634,"nodeType":"FunctionDefinition","src":"4717:241:204","nodes":[],"body":{"id":136633,"nodeType":"Block","src":"4760:198:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136606,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"4775:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136603,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"4766:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4769:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"4766:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4766:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136608,"nodeType":"ExpressionStatement","src":"4766:16:204"},{"assignments":[136610],"declarations":[{"constant":false,"id":136610,"mutability":"mutable","name":"returnData","nameLocation":"4801:10:204","nodeType":"VariableDeclaration","scope":136633,"src":"4788:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136609,"name":"bytes","nodeType":"ElementaryTypeName","src":"4788:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136621,"initialValue":{"arguments":[{"id":136612,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136298,"src":"4838:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136615,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"4868:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":136616,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4879:4:204","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":136226,"src":"4868:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) pure returns (string memory)"}},{"components":[{"hexValue":"68656c6c6f","id":136617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4886:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"id":136618,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4885:9:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) pure returns (string memory)"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":136613,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4853:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4857:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"4853:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4853:42:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136611,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[136449,136505],"referencedDeclaration":136449,"src":"4814:23:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4814:82:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4788:108:204"},{"expression":{"arguments":[{"arguments":[{"id":136625,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136610,"src":"4922:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136627,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4935:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":136626,"name":"string","nodeType":"ElementaryTypeName","src":"4935:6:204","typeDescriptions":{}}}],"id":136628,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4934:8:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":136623,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4911:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136624,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4915:6:204","memberName":"decode","nodeType":"MemberAccess","src":"4911:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4911:32:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":136630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4945:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":136622,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":50594,"src":"4902:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":136631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4902:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136632,"nodeType":"ExpressionStatement","src":"4902:51:204"}]},"functionSelector":"3424e1c1","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromRootEcho","nameLocation":"4726:24:204","parameters":{"id":136601,"nodeType":"ParameterList","parameters":[],"src":"4750:2:204"},"returnParameters":{"id":136602,"nodeType":"ParameterList","parameters":[],"src":"4760:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136680,"nodeType":"FunctionDefinition","src":"4962:438:204","nodes":[],"body":{"id":136679,"nodeType":"Block","src":"5014:386:204","nodes":[],"statements":[{"assignments":[136638],"declarations":[{"constant":false,"id":136638,"mutability":"mutable","name":"worldFunctionSelector","nameLocation":"5027:21:204","nodeType":"VariableDeclaration","scope":136679,"src":"5020:28:204","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":136637,"name":"bytes4","nodeType":"ElementaryTypeName","src":"5020:6:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":136647,"initialValue":{"arguments":[{"id":136641,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136298,"src":"5093:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"hexValue":"6563686f28737472696e6729","id":136642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5114:14:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},"value":"echo(string)"},{"expression":{"expression":{"id":136643,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"5136:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":136644,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5147:4:204","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":136226,"src":"5136:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) pure returns (string memory)"}},"id":136645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5152:8:204","memberName":"selector","nodeType":"MemberAccess","src":"5136:24:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":136639,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"5051:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5057:28:204","memberName":"registerRootFunctionSelector","nodeType":"MemberAccess","referencedDeclaration":24667,"src":"5051:34:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_string_memory_ptr_$_t_bytes4_$returns$_t_bytes4_$","typeString":"function (ResourceId,string memory,bytes4) external returns (bytes4)"}},"id":136646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5051:115:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"5020:146:204"},{"assignments":[136649],"declarations":[{"constant":false,"id":136649,"mutability":"mutable","name":"callData","nameLocation":"5185:8:204","nodeType":"VariableDeclaration","scope":136679,"src":"5172:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136648,"name":"bytes","nodeType":"ElementaryTypeName","src":"5172:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136655,"initialValue":{"arguments":[{"id":136652,"name":"worldFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136638,"src":"5219:21:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"68656c6c6f","id":136653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5242:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":136650,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5196:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136651,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5200:18:204","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"5196:22:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":136654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5196:54:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5172:78:204"},{"expression":{"arguments":[{"id":136659,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"5266:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136656,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"5257:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5260:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"5257:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5257:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136661,"nodeType":"ExpressionStatement","src":"5257:16:204"},{"assignments":[136663],"declarations":[{"constant":false,"id":136663,"mutability":"mutable","name":"returnData","nameLocation":"5292:10:204","nodeType":"VariableDeclaration","scope":136679,"src":"5279:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136662,"name":"bytes","nodeType":"ElementaryTypeName","src":"5279:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136667,"initialValue":{"arguments":[{"id":136665,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136649,"src":"5329:8:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136664,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[136449,136505],"referencedDeclaration":136505,"src":"5305:23:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bytes memory)"}},"id":136666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5305:33:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5279:59:204"},{"expression":{"arguments":[{"arguments":[{"id":136671,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136663,"src":"5364:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136673,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5377:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":136672,"name":"string","nodeType":"ElementaryTypeName","src":"5377:6:204","typeDescriptions":{}}}],"id":136674,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5376:8:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":136669,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5353:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5357:6:204","memberName":"decode","nodeType":"MemberAccess","src":"5353:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5353:32:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":136676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5387:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":136668,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":50594,"src":"5344:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":136677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5344:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136678,"nodeType":"ExpressionStatement","src":"5344:51:204"}]},"functionSelector":"78845560","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromRootWorldSelector","nameLocation":"4971:33:204","parameters":{"id":136635,"nodeType":"ParameterList","parameters":[],"src":"5004:2:204"},"returnParameters":{"id":136636,"nodeType":"ParameterList","parameters":[],"src":"5014:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136720,"nodeType":"FunctionDefinition","src":"5404:289:204","nodes":[],"body":{"id":136719,"nodeType":"Block","src":"5452:241:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136686,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"5467:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136683,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"5458:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5461:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"5458:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5458:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136688,"nodeType":"ExpressionStatement","src":"5458:16:204"},{"assignments":[136690],"declarations":[{"constant":false,"id":136690,"mutability":"mutable","name":"returnData","nameLocation":"5493:10:204","nodeType":"VariableDeclaration","scope":136719,"src":"5480:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136689,"name":"bytes","nodeType":"ElementaryTypeName","src":"5480:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136700,"initialValue":{"arguments":[{"id":136692,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136298,"src":"5526:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136695,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"5556:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":136696,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5567:9:204","memberName":"readTable","nodeType":"MemberAccess","referencedDeclaration":136216,"src":"5556:20:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_userDefinedValueType$_Schema_$2854_$","typeString":"function EchoSystem.readTable() view returns (Schema)"}},{"components":[],"id":136697,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5578:2:204","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_userDefinedValueType$_Schema_$2854_$","typeString":"function EchoSystem.readTable() view returns (Schema)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":136693,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5541:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136694,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5545:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"5541:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5541:40:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136691,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[136479,136531],"referencedDeclaration":136479,"src":"5506:19:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5506:76:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5480:102:204"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":136706,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136690,"src":"5622:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136707,"name":"Schema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2854,"src":"5635:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Schema_$2854_$","typeString":"type(Schema)"}}],"id":136708,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5634:8:204","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Schema_$2854_$","typeString":"type(Schema)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_userDefinedValueType$_Schema_$2854_$","typeString":"type(Schema)"}],"expression":{"id":136704,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5611:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5615:6:204","memberName":"decode","nodeType":"MemberAccess","src":"5611:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5611:32:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$2854","typeString":"Schema"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Schema_$2854","typeString":"Schema"}],"expression":{"id":136702,"name":"Schema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2854,"src":"5597:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Schema_$2854_$","typeString":"type(Schema)"}},"id":136703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5604:6:204","memberName":"unwrap","nodeType":"MemberAccess","src":"5597:13:204","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Schema_$2854_$returns$_t_bytes32_$","typeString":"function (Schema) pure returns (bytes32)"}},"id":136710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5597:47:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":136713,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10997,"src":"5660:11:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$10997_$","typeString":"type(library ResourceIds)"}},"id":136714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5672:12:204","memberName":"getKeySchema","nodeType":"MemberAccess","referencedDeclaration":10350,"src":"5660:24:204","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_userDefinedValueType$_Schema_$2854_$","typeString":"function () pure returns (Schema)"}},"id":136715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5660:26:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$2854","typeString":"Schema"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Schema_$2854","typeString":"Schema"}],"expression":{"id":136711,"name":"Schema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2854,"src":"5646:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Schema_$2854_$","typeString":"type(Schema)"}},"id":136712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5653:6:204","memberName":"unwrap","nodeType":"MemberAccess","src":"5646:13:204","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Schema_$2854_$returns$_t_bytes32_$","typeString":"function (Schema) pure returns (bytes32)"}},"id":136716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5646:41:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":136701,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":48957,"src":"5588:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":136717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5588:100:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136718,"nodeType":"ExpressionStatement","src":"5588:100:204"}]},"functionSelector":"1eeacac5","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromRootReadTable","nameLocation":"5413:29:204","parameters":{"id":136681,"nodeType":"ParameterList","parameters":[],"src":"5442:2:204"},"returnParameters":{"id":136682,"nodeType":"ParameterList","parameters":[],"src":"5452:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136756,"nodeType":"FunctionDefinition","src":"5804:253:204","nodes":[],"body":{"id":136755,"nodeType":"Block","src":"5855:202:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136726,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"5870:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136723,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"5861:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5864:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"5861:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5861:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136728,"nodeType":"ExpressionStatement","src":"5861:16:204"},{"assignments":[136730],"declarations":[{"constant":false,"id":136730,"mutability":"mutable","name":"returnData","nameLocation":"5896:10:204","nodeType":"VariableDeclaration","scope":136755,"src":"5883:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136729,"name":"bytes","nodeType":"ElementaryTypeName","src":"5883:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136740,"initialValue":{"arguments":[{"id":136732,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136298,"src":"5929:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136735,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"5959:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":136736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5970:9:204","memberName":"msgSender","nodeType":"MemberAccess","referencedDeclaration":136195,"src":"5959:20:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"}},{"components":[],"id":136737,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5981:2:204","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":136733,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5944:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136734,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5948:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"5944:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5944:40:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136731,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[136479,136531],"referencedDeclaration":136479,"src":"5909:19:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5909:76:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5883:102:204"},{"expression":{"arguments":[{"arguments":[{"id":136744,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136730,"src":"6011:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6024:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136745,"name":"address","nodeType":"ElementaryTypeName","src":"6024:7:204","typeDescriptions":{}}}],"id":136747,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6023:9:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":136742,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6000:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136743,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6004:6:204","memberName":"decode","nodeType":"MemberAccess","src":"6000:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6000:33:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":136751,"name":"systemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136277,"src":"6043:7:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}],"id":136750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6035:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136749,"name":"address","nodeType":"ElementaryTypeName","src":"6035:7:204","typeDescriptions":{}}},"id":136752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6035:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":136741,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":48902,"src":"5991:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":136753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5991:61:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136754,"nodeType":"ExpressionStatement","src":"5991:61:204"}]},"functionSelector":"e78c82e3","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromNonRootMsgSender","nameLocation":"5813:32:204","parameters":{"id":136721,"nodeType":"ParameterList","parameters":[],"src":"5845:2:204"},"returnParameters":{"id":136722,"nodeType":"ParameterList","parameters":[],"src":"5855:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136792,"nodeType":"FunctionDefinition","src":"6061:243:204","nodes":[],"body":{"id":136791,"nodeType":"Block","src":"6108:196:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136762,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"6123:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136759,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"6114:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6117:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"6114:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6114:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136764,"nodeType":"ExpressionStatement","src":"6114:16:204"},{"assignments":[136766],"declarations":[{"constant":false,"id":136766,"mutability":"mutable","name":"returnData","nameLocation":"6149:10:204","nodeType":"VariableDeclaration","scope":136791,"src":"6136:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136765,"name":"bytes","nodeType":"ElementaryTypeName","src":"6136:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136776,"initialValue":{"arguments":[{"id":136768,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136298,"src":"6182:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136771,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"6212:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":136772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6223:5:204","memberName":"world","nodeType":"MemberAccess","referencedDeclaration":136204,"src":"6212:16:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"}},{"components":[],"id":136773,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6230:2:204","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":136769,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6197:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6201:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"6197:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6197:36:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136767,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[136479,136531],"referencedDeclaration":136479,"src":"6162:19:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6162:72:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6136:98:204"},{"expression":{"arguments":[{"arguments":[{"id":136780,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136766,"src":"6260:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6273:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136781,"name":"address","nodeType":"ElementaryTypeName","src":"6273:7:204","typeDescriptions":{}}}],"id":136783,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6272:9:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":136778,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6249:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6253:6:204","memberName":"decode","nodeType":"MemberAccess","src":"6249:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6249:33:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":136787,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"6292:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}],"id":136786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6284:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136785,"name":"address","nodeType":"ElementaryTypeName","src":"6284:7:204","typeDescriptions":{}}},"id":136788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6284:14:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":136777,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":48902,"src":"6240:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":136789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6240:59:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136790,"nodeType":"ExpressionStatement","src":"6240:59:204"}]},"functionSelector":"2cb6867d","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromNonRootWorld","nameLocation":"6070:28:204","parameters":{"id":136757,"nodeType":"ParameterList","parameters":[],"src":"6098:2:204"},"returnParameters":{"id":136758,"nodeType":"ParameterList","parameters":[],"src":"6108:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136826,"nodeType":"FunctionDefinition","src":"6308:240:204","nodes":[],"body":{"id":136825,"nodeType":"Block","src":"6354:194:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136798,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"6369:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136795,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"6360:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6363:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"6360:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6360:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136800,"nodeType":"ExpressionStatement","src":"6360:16:204"},{"assignments":[136802],"declarations":[{"constant":false,"id":136802,"mutability":"mutable","name":"returnData","nameLocation":"6395:10:204","nodeType":"VariableDeclaration","scope":136825,"src":"6382:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136801,"name":"bytes","nodeType":"ElementaryTypeName","src":"6382:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136813,"initialValue":{"arguments":[{"id":136804,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136298,"src":"6428:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136807,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"6458:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":136808,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6469:4:204","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":136226,"src":"6458:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) pure returns (string memory)"}},{"components":[{"hexValue":"68656c6c6f","id":136809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6476:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"id":136810,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6475:9:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) pure returns (string memory)"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":136805,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6443:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6447:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"6443:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6443:42:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136803,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[136479,136531],"referencedDeclaration":136479,"src":"6408:19:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6408:78:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6382:104:204"},{"expression":{"arguments":[{"arguments":[{"id":136817,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136802,"src":"6512:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6525:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":136818,"name":"string","nodeType":"ElementaryTypeName","src":"6525:6:204","typeDescriptions":{}}}],"id":136820,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6524:8:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":136815,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6501:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6505:6:204","memberName":"decode","nodeType":"MemberAccess","src":"6501:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6501:32:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":136822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6535:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":136814,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":50594,"src":"6492:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":136823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6492:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136824,"nodeType":"ExpressionStatement","src":"6492:51:204"}]},"functionSelector":"055e33e8","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromNonRootEcho","nameLocation":"6317:27:204","parameters":{"id":136793,"nodeType":"ParameterList","parameters":[],"src":"6344:2:204"},"returnParameters":{"id":136794,"nodeType":"ParameterList","parameters":[],"src":"6354:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136872,"nodeType":"FunctionDefinition","src":"6552:437:204","nodes":[],"body":{"id":136871,"nodeType":"Block","src":"6607:382:204","nodes":[],"statements":[{"assignments":[136830],"declarations":[{"constant":false,"id":136830,"mutability":"mutable","name":"worldFunctionSelector","nameLocation":"6620:21:204","nodeType":"VariableDeclaration","scope":136871,"src":"6613:28:204","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":136829,"name":"bytes4","nodeType":"ElementaryTypeName","src":"6613:6:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":136839,"initialValue":{"arguments":[{"id":136833,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136298,"src":"6686:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"hexValue":"6563686f28737472696e6729","id":136834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6707:14:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},"value":"echo(string)"},{"expression":{"expression":{"id":136835,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"6729:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":136836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6740:4:204","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":136226,"src":"6729:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) pure returns (string memory)"}},"id":136837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6745:8:204","memberName":"selector","nodeType":"MemberAccess","src":"6729:24:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":136831,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"6644:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":136832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6650:28:204","memberName":"registerRootFunctionSelector","nodeType":"MemberAccess","referencedDeclaration":24667,"src":"6644:34:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_string_memory_ptr_$_t_bytes4_$returns$_t_bytes4_$","typeString":"function (ResourceId,string memory,bytes4) external returns (bytes4)"}},"id":136838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6644:115:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"6613:146:204"},{"assignments":[136841],"declarations":[{"constant":false,"id":136841,"mutability":"mutable","name":"callData","nameLocation":"6778:8:204","nodeType":"VariableDeclaration","scope":136871,"src":"6765:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136840,"name":"bytes","nodeType":"ElementaryTypeName","src":"6765:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136847,"initialValue":{"arguments":[{"id":136844,"name":"worldFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136830,"src":"6812:21:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"68656c6c6f","id":136845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6835:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":136842,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6789:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6793:18:204","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"6789:22:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":136846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6789:54:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6765:78:204"},{"expression":{"arguments":[{"id":136851,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"6859:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136848,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"6850:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6853:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"6850:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6850:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136853,"nodeType":"ExpressionStatement","src":"6850:16:204"},{"assignments":[136855],"declarations":[{"constant":false,"id":136855,"mutability":"mutable","name":"returnData","nameLocation":"6885:10:204","nodeType":"VariableDeclaration","scope":136871,"src":"6872:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136854,"name":"bytes","nodeType":"ElementaryTypeName","src":"6872:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136859,"initialValue":{"arguments":[{"id":136857,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136841,"src":"6918:8:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136856,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[136479,136531],"referencedDeclaration":136531,"src":"6898:19:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bytes memory)"}},"id":136858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6898:29:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6872:55:204"},{"expression":{"arguments":[{"arguments":[{"id":136863,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136855,"src":"6953:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136865,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6966:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":136864,"name":"string","nodeType":"ElementaryTypeName","src":"6966:6:204","typeDescriptions":{}}}],"id":136866,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6965:8:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":136861,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6942:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6946:6:204","memberName":"decode","nodeType":"MemberAccess","src":"6942:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6942:32:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":136868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6976:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":136860,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":50594,"src":"6933:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":136869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6933:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136870,"nodeType":"ExpressionStatement","src":"6933:51:204"}]},"functionSelector":"c0310bf6","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromNonRootWorldSelector","nameLocation":"6561:36:204","parameters":{"id":136827,"nodeType":"ParameterList","parameters":[],"src":"6597:2:204"},"returnParameters":{"id":136828,"nodeType":"ParameterList","parameters":[],"src":"6607:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136912,"nodeType":"FunctionDefinition","src":"6993:292:204","nodes":[],"body":{"id":136911,"nodeType":"Block","src":"7044:241:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136878,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"7059:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136875,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"7050:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7053:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"7050:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7050:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136880,"nodeType":"ExpressionStatement","src":"7050:16:204"},{"assignments":[136882],"declarations":[{"constant":false,"id":136882,"mutability":"mutable","name":"returnData","nameLocation":"7085:10:204","nodeType":"VariableDeclaration","scope":136911,"src":"7072:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136881,"name":"bytes","nodeType":"ElementaryTypeName","src":"7072:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136892,"initialValue":{"arguments":[{"id":136884,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136298,"src":"7118:13:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136887,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"7148:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":136888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7159:9:204","memberName":"readTable","nodeType":"MemberAccess","referencedDeclaration":136216,"src":"7148:20:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_userDefinedValueType$_Schema_$2854_$","typeString":"function EchoSystem.readTable() view returns (Schema)"}},{"components":[],"id":136889,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7170:2:204","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_userDefinedValueType$_Schema_$2854_$","typeString":"function EchoSystem.readTable() view returns (Schema)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":136885,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7133:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136886,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7137:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"7133:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7133:40:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136883,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[136479,136531],"referencedDeclaration":136479,"src":"7098:19:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7098:76:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7072:102:204"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":136898,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136882,"src":"7214:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136899,"name":"Schema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2854,"src":"7227:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Schema_$2854_$","typeString":"type(Schema)"}}],"id":136900,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7226:8:204","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Schema_$2854_$","typeString":"type(Schema)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_userDefinedValueType$_Schema_$2854_$","typeString":"type(Schema)"}],"expression":{"id":136896,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7203:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7207:6:204","memberName":"decode","nodeType":"MemberAccess","src":"7203:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7203:32:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$2854","typeString":"Schema"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Schema_$2854","typeString":"Schema"}],"expression":{"id":136894,"name":"Schema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2854,"src":"7189:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Schema_$2854_$","typeString":"type(Schema)"}},"id":136895,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7196:6:204","memberName":"unwrap","nodeType":"MemberAccess","src":"7189:13:204","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Schema_$2854_$returns$_t_bytes32_$","typeString":"function (Schema) pure returns (bytes32)"}},"id":136902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7189:47:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":136905,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10997,"src":"7252:11:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$10997_$","typeString":"type(library ResourceIds)"}},"id":136906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7264:12:204","memberName":"getKeySchema","nodeType":"MemberAccess","referencedDeclaration":10350,"src":"7252:24:204","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_userDefinedValueType$_Schema_$2854_$","typeString":"function () pure returns (Schema)"}},"id":136907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7252:26:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$2854","typeString":"Schema"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Schema_$2854","typeString":"Schema"}],"expression":{"id":136903,"name":"Schema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2854,"src":"7238:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Schema_$2854_$","typeString":"type(Schema)"}},"id":136904,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7245:6:204","memberName":"unwrap","nodeType":"MemberAccess","src":"7238:13:204","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Schema_$2854_$returns$_t_bytes32_$","typeString":"function (Schema) pure returns (bytes32)"}},"id":136908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7238:41:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":136893,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":48957,"src":"7180:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":136909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7180:100:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136910,"nodeType":"ExpressionStatement","src":"7180:100:204"}]},"functionSelector":"8021c5fb","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromNonRootReadTable","nameLocation":"7002:32:204","parameters":{"id":136873,"nodeType":"ParameterList","parameters":[],"src":"7034:2:204"},"returnParameters":{"id":136874,"nodeType":"ParameterList","parameters":[],"src":"7044:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136945,"nodeType":"FunctionDefinition","src":"7396:243:204","nodes":[],"body":{"id":136944,"nodeType":"Block","src":"7447:192:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136918,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"7462:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136915,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"7453:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7456:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"7453:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7453:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136920,"nodeType":"ExpressionStatement","src":"7453:16:204"},{"assignments":[136922],"declarations":[{"constant":false,"id":136922,"mutability":"mutable","name":"returnData","nameLocation":"7488:10:204","nodeType":"VariableDeclaration","scope":136944,"src":"7475:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136921,"name":"bytes","nodeType":"ElementaryTypeName","src":"7475:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136932,"initialValue":{"arguments":[{"id":136924,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136292,"src":"7525:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136927,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"7551:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":136928,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7562:9:204","memberName":"msgSender","nodeType":"MemberAccess","referencedDeclaration":136195,"src":"7551:20:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"}},{"components":[],"id":136929,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7573:2:204","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":136925,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7536:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136926,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7540:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"7536:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7536:40:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136923,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[136449,136505],"referencedDeclaration":136449,"src":"7501:23:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7501:76:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7475:102:204"},{"expression":{"arguments":[{"arguments":[{"id":136936,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136922,"src":"7603:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136938,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7616:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136937,"name":"address","nodeType":"ElementaryTypeName","src":"7616:7:204","typeDescriptions":{}}}],"id":136939,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7615:9:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":136934,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7592:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136935,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7596:6:204","memberName":"decode","nodeType":"MemberAccess","src":"7592:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7592:33:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":136941,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"7627:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":136933,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":48902,"src":"7583:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":136942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7583:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136943,"nodeType":"ExpressionStatement","src":"7583:51:204"}]},"functionSelector":"5af8de30","implemented":true,"kind":"function","modifiers":[],"name":"testCallNonRootFromRootMsgSender","nameLocation":"7405:32:204","parameters":{"id":136913,"nodeType":"ParameterList","parameters":[],"src":"7437:2:204"},"returnParameters":{"id":136914,"nodeType":"ParameterList","parameters":[],"src":"7447:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":136981,"nodeType":"FunctionDefinition","src":"7643:243:204","nodes":[],"body":{"id":136980,"nodeType":"Block","src":"7690:196:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136951,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"7705:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136948,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"7696:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7699:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"7696:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7696:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136953,"nodeType":"ExpressionStatement","src":"7696:16:204"},{"assignments":[136955],"declarations":[{"constant":false,"id":136955,"mutability":"mutable","name":"returnData","nameLocation":"7731:10:204","nodeType":"VariableDeclaration","scope":136980,"src":"7718:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136954,"name":"bytes","nodeType":"ElementaryTypeName","src":"7718:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":136965,"initialValue":{"arguments":[{"id":136957,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136292,"src":"7768:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136960,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"7794:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":136961,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7805:5:204","memberName":"world","nodeType":"MemberAccess","referencedDeclaration":136204,"src":"7794:16:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"}},{"components":[],"id":136962,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7812:2:204","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":136958,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7779:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136959,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7783:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"7779:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":136963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7779:36:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136956,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[136449,136505],"referencedDeclaration":136449,"src":"7744:23:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":136964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7744:72:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7718:98:204"},{"expression":{"arguments":[{"arguments":[{"id":136969,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136955,"src":"7842:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":136971,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7855:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136970,"name":"address","nodeType":"ElementaryTypeName","src":"7855:7:204","typeDescriptions":{}}}],"id":136972,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7854:9:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":136967,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7831:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136968,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7835:6:204","memberName":"decode","nodeType":"MemberAccess","src":"7831:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":136973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7831:33:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":136976,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"7874:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}],"id":136975,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7866:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":136974,"name":"address","nodeType":"ElementaryTypeName","src":"7866:7:204","typeDescriptions":{}}},"id":136977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7866:14:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":136966,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":48902,"src":"7822:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":136978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7822:59:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136979,"nodeType":"ExpressionStatement","src":"7822:59:204"}]},"functionSelector":"415dcda0","implemented":true,"kind":"function","modifiers":[],"name":"testCallNonRootFromRootWorld","nameLocation":"7652:28:204","parameters":{"id":136946,"nodeType":"ParameterList","parameters":[],"src":"7680:2:204"},"returnParameters":{"id":136947,"nodeType":"ParameterList","parameters":[],"src":"7690:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":137015,"nodeType":"FunctionDefinition","src":"7890:240:204","nodes":[],"body":{"id":137014,"nodeType":"Block","src":"7936:194:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":136987,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"7951:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":136984,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"7942:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":136986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7945:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"7942:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":136988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7942:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":136989,"nodeType":"ExpressionStatement","src":"7942:16:204"},{"assignments":[136991],"declarations":[{"constant":false,"id":136991,"mutability":"mutable","name":"returnData","nameLocation":"7977:10:204","nodeType":"VariableDeclaration","scope":137014,"src":"7964:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":136990,"name":"bytes","nodeType":"ElementaryTypeName","src":"7964:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":137002,"initialValue":{"arguments":[{"id":136993,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136292,"src":"8014:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":136996,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"8040:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":136997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8051:4:204","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":136226,"src":"8040:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) pure returns (string memory)"}},{"components":[{"hexValue":"68656c6c6f","id":136998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8058:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"id":136999,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8057:9:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) pure returns (string memory)"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":136994,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8025:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":136995,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8029:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"8025:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":137000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8025:42:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":136992,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[136449,136505],"referencedDeclaration":136449,"src":"7990:23:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":137001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7990:78:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7964:104:204"},{"expression":{"arguments":[{"arguments":[{"id":137006,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136991,"src":"8094:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":137008,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8107:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":137007,"name":"string","nodeType":"ElementaryTypeName","src":"8107:6:204","typeDescriptions":{}}}],"id":137009,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8106:8:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":137004,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8083:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8087:6:204","memberName":"decode","nodeType":"MemberAccess","src":"8083:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":137010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8083:32:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":137011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8117:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":137003,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":50594,"src":"8074:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":137012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8074:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137013,"nodeType":"ExpressionStatement","src":"8074:51:204"}]},"functionSelector":"e7097553","implemented":true,"kind":"function","modifiers":[],"name":"testCallNonRootFromRootEcho","nameLocation":"7899:27:204","parameters":{"id":136982,"nodeType":"ParameterList","parameters":[],"src":"7926:2:204"},"returnParameters":{"id":136983,"nodeType":"ParameterList","parameters":[],"src":"7936:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":137061,"nodeType":"FunctionDefinition","src":"8134:437:204","nodes":[],"body":{"id":137060,"nodeType":"Block","src":"8189:382:204","nodes":[],"statements":[{"assignments":[137019],"declarations":[{"constant":false,"id":137019,"mutability":"mutable","name":"worldFunctionSelector","nameLocation":"8202:21:204","nodeType":"VariableDeclaration","scope":137060,"src":"8195:28:204","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":137018,"name":"bytes4","nodeType":"ElementaryTypeName","src":"8195:6:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":137028,"initialValue":{"arguments":[{"id":137022,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136292,"src":"8268:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"hexValue":"6563686f28737472696e6729","id":137023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8285:14:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},"value":"echo(string)"},{"expression":{"expression":{"id":137024,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"8307:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":137025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8318:4:204","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":136226,"src":"8307:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) pure returns (string memory)"}},"id":137026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8323:8:204","memberName":"selector","nodeType":"MemberAccess","src":"8307:24:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":137020,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"8226:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":137021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8232:28:204","memberName":"registerRootFunctionSelector","nodeType":"MemberAccess","referencedDeclaration":24667,"src":"8226:34:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_string_memory_ptr_$_t_bytes4_$returns$_t_bytes4_$","typeString":"function (ResourceId,string memory,bytes4) external returns (bytes4)"}},"id":137027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8226:111:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"8195:142:204"},{"assignments":[137030],"declarations":[{"constant":false,"id":137030,"mutability":"mutable","name":"callData","nameLocation":"8356:8:204","nodeType":"VariableDeclaration","scope":137060,"src":"8343:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":137029,"name":"bytes","nodeType":"ElementaryTypeName","src":"8343:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":137036,"initialValue":{"arguments":[{"id":137033,"name":"worldFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137019,"src":"8390:21:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"68656c6c6f","id":137034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8413:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":137031,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8367:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8371:18:204","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"8367:22:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":137035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8367:54:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8343:78:204"},{"expression":{"arguments":[{"id":137040,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"8437:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":137037,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"8428:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":137039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8431:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"8428:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":137041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8428:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137042,"nodeType":"ExpressionStatement","src":"8428:16:204"},{"assignments":[137044],"declarations":[{"constant":false,"id":137044,"mutability":"mutable","name":"returnData","nameLocation":"8463:10:204","nodeType":"VariableDeclaration","scope":137060,"src":"8450:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":137043,"name":"bytes","nodeType":"ElementaryTypeName","src":"8450:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":137048,"initialValue":{"arguments":[{"id":137046,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137030,"src":"8500:8:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":137045,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[136449,136505],"referencedDeclaration":136505,"src":"8476:23:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bytes memory)"}},"id":137047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8476:33:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8450:59:204"},{"expression":{"arguments":[{"arguments":[{"id":137052,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137044,"src":"8535:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":137054,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8548:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":137053,"name":"string","nodeType":"ElementaryTypeName","src":"8548:6:204","typeDescriptions":{}}}],"id":137055,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8547:8:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":137050,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8524:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8528:6:204","memberName":"decode","nodeType":"MemberAccess","src":"8524:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":137056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8524:32:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":137057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8558:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":137049,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":50594,"src":"8515:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":137058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8515:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137059,"nodeType":"ExpressionStatement","src":"8515:51:204"}]},"functionSelector":"f6927c03","implemented":true,"kind":"function","modifiers":[],"name":"testCallNonRootFromRootWorldSelector","nameLocation":"8143:36:204","parameters":{"id":137016,"nodeType":"ParameterList","parameters":[],"src":"8179:2:204"},"returnParameters":{"id":137017,"nodeType":"ParameterList","parameters":[],"src":"8189:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":137109,"nodeType":"FunctionDefinition","src":"8575:476:204","nodes":[],"body":{"id":137108,"nodeType":"Block","src":"8626:425:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":137067,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"8641:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":137064,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"8632:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":137066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8635:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"8632:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":137068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8632:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137069,"nodeType":"ExpressionStatement","src":"8632:16:204"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":137075,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1471,"src":"8794:12:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$1471_$","typeString":"type(contract IStoreErrors)"}},"id":137076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8807:19:204","memberName":"Store_TableNotFound","nodeType":"MemberAccess","referencedDeclaration":1405,"src":"8794:32:204","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_userDefinedValueType$_ResourceId_$2782_$_t_string_memory_ptr_$returns$__$","typeString":"function (ResourceId,string memory) pure"}},"id":137077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8827:8:204","memberName":"selector","nodeType":"MemberAccess","src":"8794:41:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":137078,"name":"ResourceIdsTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10301,"src":"8845:18:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"arguments":[{"id":137083,"name":"ResourceIdsTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10301,"src":"8897:18:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}],"expression":{"id":137081,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8880:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8884:12:204","memberName":"encodePacked","nodeType":"MemberAccess","src":"8880:16:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":137084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8880:36:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":137080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8873:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":137079,"name":"string","nodeType":"ElementaryTypeName","src":"8873:6:204","typeDescriptions":{}}},"id":137085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8873:44:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":137073,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8762:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8766:18:204","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"8762:22:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":137086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8762:163:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":137070,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"8739:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":137072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8742:12:204","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":61661,"src":"8739:15:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":137087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8739:192:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137088,"nodeType":"ExpressionStatement","src":"8739:192:204"},{"expression":{"arguments":[{"id":137092,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136289,"src":"8948:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":137095,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"8974:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":137096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8985:4:204","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":136243,"src":"8974:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.call(ResourceId,bytes memory) returns (bytes memory)"}},{"components":[{"id":137097,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136292,"src":"8992:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":137100,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"9018:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":137101,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9029:9:204","memberName":"readTable","nodeType":"MemberAccess","referencedDeclaration":136216,"src":"9018:20:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_userDefinedValueType$_Schema_$2854_$","typeString":"function EchoSystem.readTable() view returns (Schema)"}},{"components":[],"id":137102,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9040:2:204","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_userDefinedValueType$_Schema_$2854_$","typeString":"function EchoSystem.readTable() view returns (Schema)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":137098,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9003:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9007:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"9003:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":137103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9003:40:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":137104,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8991:53:204","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$","typeString":"tuple(ResourceId,bytes memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.call(ResourceId,bytes memory) returns (bytes memory)"},{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$","typeString":"tuple(ResourceId,bytes memory)"}],"expression":{"id":137093,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8959:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8963:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"8959:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":137105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8959:86:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":137089,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"8937:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":137091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8943:4:204","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":22578,"src":"8937:10:204","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) payable external returns (bytes memory)"}},"id":137106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8937:109:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":137107,"nodeType":"ExpressionStatement","src":"8937:109:204"}]},"functionSelector":"c0eaf20d","implemented":true,"kind":"function","modifiers":[],"name":"testCallNonRootFromRootReadTable","nameLocation":"8584:32:204","parameters":{"id":137062,"nodeType":"ParameterList","parameters":[],"src":"8616:2:204"},"returnParameters":{"id":137063,"nodeType":"ParameterList","parameters":[],"src":"8626:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":137145,"nodeType":"FunctionDefinition","src":"9166:252:204","nodes":[],"body":{"id":137144,"nodeType":"Block","src":"9220:198:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":137115,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"9235:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":137112,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"9226:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":137114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9229:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"9226:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":137116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9226:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137117,"nodeType":"ExpressionStatement","src":"9226:16:204"},{"assignments":[137119],"declarations":[{"constant":false,"id":137119,"mutability":"mutable","name":"returnData","nameLocation":"9261:10:204","nodeType":"VariableDeclaration","scope":137144,"src":"9248:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":137118,"name":"bytes","nodeType":"ElementaryTypeName","src":"9248:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":137129,"initialValue":{"arguments":[{"id":137121,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136292,"src":"9294:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":137124,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"9320:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":137125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9331:9:204","memberName":"msgSender","nodeType":"MemberAccess","referencedDeclaration":136195,"src":"9320:20:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"}},{"components":[],"id":137126,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9342:2:204","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":137122,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9305:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9309:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"9305:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":137127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9305:40:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":137120,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[136479,136531],"referencedDeclaration":136479,"src":"9274:19:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":137128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9274:72:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9248:98:204"},{"expression":{"arguments":[{"arguments":[{"id":137133,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137119,"src":"9372:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":137135,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9385:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":137134,"name":"address","nodeType":"ElementaryTypeName","src":"9385:7:204","typeDescriptions":{}}}],"id":137136,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9384:9:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":137131,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9361:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9365:6:204","memberName":"decode","nodeType":"MemberAccess","src":"9361:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":137137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9361:33:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":137140,"name":"systemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136277,"src":"9404:7:204","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EchoSystem_$136257","typeString":"contract EchoSystem"}],"id":137139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9396:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":137138,"name":"address","nodeType":"ElementaryTypeName","src":"9396:7:204","typeDescriptions":{}}},"id":137141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9396:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":137130,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":48902,"src":"9352:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":137142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9352:61:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137143,"nodeType":"ExpressionStatement","src":"9352:61:204"}]},"functionSelector":"8d95e4d6","implemented":true,"kind":"function","modifiers":[],"name":"testCallNonRootFromNonRootMsgSender","nameLocation":"9175:35:204","parameters":{"id":137110,"nodeType":"ParameterList","parameters":[],"src":"9210:2:204"},"returnParameters":{"id":137111,"nodeType":"ParameterList","parameters":[],"src":"9220:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":137181,"nodeType":"FunctionDefinition","src":"9422:242:204","nodes":[],"body":{"id":137180,"nodeType":"Block","src":"9472:192:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":137151,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"9487:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":137148,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"9478:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":137150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9481:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"9478:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":137152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9478:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137153,"nodeType":"ExpressionStatement","src":"9478:16:204"},{"assignments":[137155],"declarations":[{"constant":false,"id":137155,"mutability":"mutable","name":"returnData","nameLocation":"9513:10:204","nodeType":"VariableDeclaration","scope":137180,"src":"9500:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":137154,"name":"bytes","nodeType":"ElementaryTypeName","src":"9500:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":137165,"initialValue":{"arguments":[{"id":137157,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136292,"src":"9546:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":137160,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"9572:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":137161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9583:5:204","memberName":"world","nodeType":"MemberAccess","referencedDeclaration":136204,"src":"9572:16:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"}},{"components":[],"id":137162,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9590:2:204","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":137158,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9557:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9561:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"9557:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":137163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9557:36:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":137156,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[136479,136531],"referencedDeclaration":136479,"src":"9526:19:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":137164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9526:68:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9500:94:204"},{"expression":{"arguments":[{"arguments":[{"id":137169,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137155,"src":"9620:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":137171,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9633:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":137170,"name":"address","nodeType":"ElementaryTypeName","src":"9633:7:204","typeDescriptions":{}}}],"id":137172,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9632:9:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":137167,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9609:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9613:6:204","memberName":"decode","nodeType":"MemberAccess","src":"9609:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":137173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9609:33:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":137176,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"9652:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}],"id":137175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9644:7:204","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":137174,"name":"address","nodeType":"ElementaryTypeName","src":"9644:7:204","typeDescriptions":{}}},"id":137177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9644:14:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":137166,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":48902,"src":"9600:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":137178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9600:59:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137179,"nodeType":"ExpressionStatement","src":"9600:59:204"}]},"functionSelector":"4095ccbc","implemented":true,"kind":"function","modifiers":[],"name":"testCallNonRootFromNonRootWorld","nameLocation":"9431:31:204","parameters":{"id":137146,"nodeType":"ParameterList","parameters":[],"src":"9462:2:204"},"returnParameters":{"id":137147,"nodeType":"ParameterList","parameters":[],"src":"9472:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":137215,"nodeType":"FunctionDefinition","src":"9668:239:204","nodes":[],"body":{"id":137214,"nodeType":"Block","src":"9717:190:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":137187,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"9732:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":137184,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"9723:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":137186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9726:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"9723:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":137188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9723:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137189,"nodeType":"ExpressionStatement","src":"9723:16:204"},{"assignments":[137191],"declarations":[{"constant":false,"id":137191,"mutability":"mutable","name":"returnData","nameLocation":"9758:10:204","nodeType":"VariableDeclaration","scope":137214,"src":"9745:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":137190,"name":"bytes","nodeType":"ElementaryTypeName","src":"9745:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":137202,"initialValue":{"arguments":[{"id":137193,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136292,"src":"9791:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":137196,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"9817:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":137197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9828:4:204","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":136226,"src":"9817:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) pure returns (string memory)"}},{"components":[{"hexValue":"68656c6c6f","id":137198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9835:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"id":137199,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9834:9:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) pure returns (string memory)"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":137194,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9802:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9806:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"9802:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":137200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9802:42:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":137192,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[136479,136531],"referencedDeclaration":136479,"src":"9771:19:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":137201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9771:74:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9745:100:204"},{"expression":{"arguments":[{"arguments":[{"id":137206,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137191,"src":"9871:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":137208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9884:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":137207,"name":"string","nodeType":"ElementaryTypeName","src":"9884:6:204","typeDescriptions":{}}}],"id":137209,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9883:8:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":137204,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9860:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9864:6:204","memberName":"decode","nodeType":"MemberAccess","src":"9860:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":137210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9860:32:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":137211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9894:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":137203,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":50594,"src":"9851:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":137212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9851:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137213,"nodeType":"ExpressionStatement","src":"9851:51:204"}]},"functionSelector":"cf79f920","implemented":true,"kind":"function","modifiers":[],"name":"testCallNonRootFromNonRootEcho","nameLocation":"9677:30:204","parameters":{"id":137182,"nodeType":"ParameterList","parameters":[],"src":"9707:2:204"},"returnParameters":{"id":137183,"nodeType":"ParameterList","parameters":[],"src":"9717:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":137261,"nodeType":"FunctionDefinition","src":"9911:436:204","nodes":[],"body":{"id":137260,"nodeType":"Block","src":"9969:378:204","nodes":[],"statements":[{"assignments":[137219],"declarations":[{"constant":false,"id":137219,"mutability":"mutable","name":"worldFunctionSelector","nameLocation":"9982:21:204","nodeType":"VariableDeclaration","scope":137260,"src":"9975:28:204","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":137218,"name":"bytes4","nodeType":"ElementaryTypeName","src":"9975:6:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":137228,"initialValue":{"arguments":[{"id":137222,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136292,"src":"10048:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"hexValue":"6563686f28737472696e6729","id":137223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10065:14:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},"value":"echo(string)"},{"expression":{"expression":{"id":137224,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"10087:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":137225,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10098:4:204","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":136226,"src":"10087:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) pure returns (string memory)"}},"id":137226,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10103:8:204","memberName":"selector","nodeType":"MemberAccess","src":"10087:24:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":137220,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"10006:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":137221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10012:28:204","memberName":"registerRootFunctionSelector","nodeType":"MemberAccess","referencedDeclaration":24667,"src":"10006:34:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_string_memory_ptr_$_t_bytes4_$returns$_t_bytes4_$","typeString":"function (ResourceId,string memory,bytes4) external returns (bytes4)"}},"id":137227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10006:111:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"9975:142:204"},{"assignments":[137230],"declarations":[{"constant":false,"id":137230,"mutability":"mutable","name":"callData","nameLocation":"10136:8:204","nodeType":"VariableDeclaration","scope":137260,"src":"10123:21:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":137229,"name":"bytes","nodeType":"ElementaryTypeName","src":"10123:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":137236,"initialValue":{"arguments":[{"id":137233,"name":"worldFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137219,"src":"10170:21:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"68656c6c6f","id":137234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10193:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":137231,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10147:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10151:18:204","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"10147:22:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":137235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10147:54:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"10123:78:204"},{"expression":{"arguments":[{"id":137240,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"10217:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":137237,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"10208:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":137239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10211:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"10208:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":137241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10208:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137242,"nodeType":"ExpressionStatement","src":"10208:16:204"},{"assignments":[137244],"declarations":[{"constant":false,"id":137244,"mutability":"mutable","name":"returnData","nameLocation":"10243:10:204","nodeType":"VariableDeclaration","scope":137260,"src":"10230:23:204","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":137243,"name":"bytes","nodeType":"ElementaryTypeName","src":"10230:5:204","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":137248,"initialValue":{"arguments":[{"id":137246,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137230,"src":"10276:8:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":137245,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[136479,136531],"referencedDeclaration":136531,"src":"10256:19:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bytes memory)"}},"id":137247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10256:29:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"10230:55:204"},{"expression":{"arguments":[{"arguments":[{"id":137252,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137244,"src":"10311:10:204","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":137254,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10324:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":137253,"name":"string","nodeType":"ElementaryTypeName","src":"10324:6:204","typeDescriptions":{}}}],"id":137255,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10323:8:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":137250,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10300:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137251,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10304:6:204","memberName":"decode","nodeType":"MemberAccess","src":"10300:10:204","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":137256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10300:32:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":137257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10334:7:204","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":137249,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[51067,51092,51105,51121,51163,51205,51247,51284,51321,51358,48902,48927,48957,48982,49041,49066,49096,49121,50594,50629],"referencedDeclaration":50594,"src":"10291:8:204","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":137258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10291:51:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137259,"nodeType":"ExpressionStatement","src":"10291:51:204"}]},"functionSelector":"862f7ccd","implemented":true,"kind":"function","modifiers":[],"name":"testCallNonRootFromNonRootWorldSelector","nameLocation":"9920:39:204","parameters":{"id":137216,"nodeType":"ParameterList","parameters":[],"src":"9959:2:204"},"returnParameters":{"id":137217,"nodeType":"ParameterList","parameters":[],"src":"9969:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":137309,"nodeType":"FunctionDefinition","src":"10351:479:204","nodes":[],"body":{"id":137308,"nodeType":"Block","src":"10405:425:204","nodes":[],"statements":[{"expression":{"arguments":[{"id":137267,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136263,"src":"10420:6:204","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":137264,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"10411:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":137266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10414:5:204","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":61605,"src":"10411:8:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":137268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10411:16:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137269,"nodeType":"ExpressionStatement","src":"10411:16:204"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":137275,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1471,"src":"10573:12:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$1471_$","typeString":"type(contract IStoreErrors)"}},"id":137276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10586:19:204","memberName":"Store_TableNotFound","nodeType":"MemberAccess","referencedDeclaration":1405,"src":"10573:32:204","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_userDefinedValueType$_ResourceId_$2782_$_t_string_memory_ptr_$returns$__$","typeString":"function (ResourceId,string memory) pure"}},"id":137277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10606:8:204","memberName":"selector","nodeType":"MemberAccess","src":"10573:41:204","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":137278,"name":"ResourceIdsTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10301,"src":"10624:18:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"arguments":[{"id":137283,"name":"ResourceIdsTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10301,"src":"10676:18:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}],"expression":{"id":137281,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10659:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137282,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10663:12:204","memberName":"encodePacked","nodeType":"MemberAccess","src":"10659:16:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":137284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10659:36:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":137280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10652:6:204","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":137279,"name":"string","nodeType":"ElementaryTypeName","src":"10652:6:204","typeDescriptions":{}}},"id":137285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10652:44:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":137273,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10541:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137274,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10545:18:204","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"10541:22:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":137286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10541:163:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":137270,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50932,"src":"10518:2:204","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$62007","typeString":"contract Vm"}},"id":137272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10521:12:204","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":61661,"src":"10518:15:204","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":137287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10518:192:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137288,"nodeType":"ExpressionStatement","src":"10518:192:204"},{"expression":{"arguments":[{"id":137292,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136289,"src":"10727:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":137295,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"10753:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":137296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10764:4:204","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":136243,"src":"10753:15:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.call(ResourceId,bytes memory) returns (bytes memory)"}},{"components":[{"id":137297,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136292,"src":"10771:9:204","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":137300,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136257,"src":"10797:10:204","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$136257_$","typeString":"type(contract EchoSystem)"}},"id":137301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10808:9:204","memberName":"readTable","nodeType":"MemberAccess","referencedDeclaration":136216,"src":"10797:20:204","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_userDefinedValueType$_Schema_$2854_$","typeString":"function EchoSystem.readTable() view returns (Schema)"}},{"components":[],"id":137302,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10819:2:204","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_userDefinedValueType$_Schema_$2854_$","typeString":"function EchoSystem.readTable() view returns (Schema)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":137298,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10782:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10786:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"10782:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":137303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10782:40:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":137304,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10770:53:204","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$","typeString":"tuple(ResourceId,bytes memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.call(ResourceId,bytes memory) returns (bytes memory)"},{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$","typeString":"tuple(ResourceId,bytes memory)"}],"expression":{"id":137293,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10738:3:204","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10742:10:204","memberName":"encodeCall","nodeType":"MemberAccess","src":"10738:14:204","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":137305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10738:86:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":137289,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136274,"src":"10716:5:204","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24554","typeString":"contract IBaseWorld"}},"id":137291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10722:4:204","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":22578,"src":"10716:10:204","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) payable external returns (bytes memory)"}},"id":137306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10716:109:204","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":137307,"nodeType":"ExpressionStatement","src":"10716:109:204"}]},"functionSelector":"d82716ce","implemented":true,"kind":"function","modifiers":[],"name":"testCallNonRootFromNonRootReadTable","nameLocation":"10360:35:204","parameters":{"id":137262,"nodeType":"ParameterList","parameters":[],"src":"10395:2:204"},"returnParameters":{"id":137263,"nodeType":"ParameterList","parameters":[],"src":"10405:0:204"},"scope":137310,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":136264,"name":"Test","nameLocations":["1836:4:204"],"nodeType":"IdentifierPath","referencedDeclaration":60480,"src":"1836:4:204"},"id":136265,"nodeType":"InheritanceSpecifier","src":"1836:4:204"},{"baseName":{"id":136266,"name":"GasReporter","nameLocations":["1842:11:204"],"nodeType":"IdentifierPath","referencedDeclaration":226,"src":"1842:11:204"},"id":136267,"nodeType":"InheritanceSpecifier","src":"1842:11:204"}],"canonicalName":"SystemSwitchTest","contractDependencies":[23867,36077,36132,36394,36570,36767,136257],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[137310,226,60480,50939,50936,60429,56167,55877,55113,53059,52366,50873],"name":"SystemSwitchTest","nameLocation":"1816:16:204","scope":137311,"usedErrors":[2864,2867],"usedEvents":[48587,48591,48595,48599,48603,48607,48611,48615,48621,48627,48635,48643,48649,48655,48661,48667,50961,50966,50971,50978,50985,50992]}],"license":"MIT"},"id":204}
|